quinta-feira, 23 de outubro de 2014

Palestra Faculdade SENAC - Porto Alegre

Aconteceu no dia 20/10/2014, em comemoração aos 10 anos da FSPOA - Dia do Curso de Redes de Computadores, a palestra "Segurança na Internet - Também é questão de Bom Senso", na Faculdade SENAC de Porto Alegre. A convite do meu amigo Marcelo Conterato, abri a sessão de palestras que contou posteriormente com o delegado de polícia especialista em crimes virtuais Émerson Wendt, o advogado Guilherme Goulart da BrownPipe Consultoria (além de ser um dos idealizadores e integrantes do podcast Segurança Legal) e o professor da Unisinos, Fernando Karl.

Na palestra de abertura, conversamos com os alunos dos cursos de redes de computadores sobre postura segura na Internet, aspectos gerais inerentes à segurança, engenharia social, super exposição na Internet entre outras questões importantes sobre segurança digital. 

 
 
Logo após, houve uma mesa redonda onde os senhores Émerson, Fernando e Guilherme, mediados pelo  Marcelo, discutiram sobre o Marco Civil da Internet.


 

Agradeço novamente ao SENAC pelo convite. Fico muito satisfeito com os feedbacks que recebi dos alunos que assistiram essa apresentação, galerinha bem interessada e participativa. 

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

segunda-feira, 20 de outubro de 2014

Video: What's wrong with your pa$$w0rd?

 Autor: Lorrie Faith Cranor

Vídeo: What's wrong with your pa$$w0rd?  (O que há de errado com a sua 53nha?)

Duração: 00:17:41

Porque assistir: Nesta palestra do TED Talks, Lorrie que é professora de Ciência da Computação na CarnegieMellon University fala sobre entropia de senhas e mostra resultados da sua pesquisa sobre o assunto. Em 17 minutos, Lorrie fala sobre a eficiência do uso de senhas grandes e de senhas usando caracteres diversificados, a dificuldade na coleta de senhas para realizar seus estudos, o uso de símbolos em senhas, entre outros assuntos relacionados. Ela aborda por exemplo, o fato de termos diversos símbolos a serem utilizados, mas utilizarmos sempre os mesmos, o que diminui sensivelmente a qualidade das senhas. Fala ainda sobre o fato de que, como precisamos criar senhas grandes e fáceis de lembrar, geralmente estamos pensando em coisas boas e felizes e o porque disso poder ser um problema. Assista! =)

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

sexta-feira, 17 de outubro de 2014

Mini guia do Nmap: Parte 2

Dando continuidade ao mini guia do Nmap, vamos verificar alguns dos parâmetros mais úteis para realizar a varredura em hosts remotos. Se você quer ver a primeira parte desse guia, acesse: Mini guia do Nmap: Parte 1. Uma informação importante que não coloquei na primeira parte, mas que sempre vale a pena reforçar: consulte o manual da ferramenta através do comando "man nmap". É sempre muito útil consultar a própria documentação da ferramenta.


-sO: detecção de Sistema Operacional

O parâmetro "-sO" habilita a detecção de versão do Sistema Operacional. Essa é uma das funções mais importantes do Nmap, pois descobrir o sistema operacional que roda no host remoto facilita e muito a descoberta de possíveis vulnerabilidades. Este parâmetro permite realizar o footprinting/fingerprinting pois permite descobrir informações como o tipo de dispositivo (roteador, servidor, estação de trabalho, switch, etc), sistema operacional (nome e versão), distância na rede (distância em saltos entre o alvo e o atacante).

O Nmap possui uma base de dados chamada "nmap-os-db", que contém informações de mais de 2.600 sistemas operacionais (haja sistema hein =)). O que o Nmap faz é mandar pacotes TCP e UDP para o alvo e comparar as respostas com as suas informações na base de dados. 

Veja no conteúdo da base de dados, informações sobre o iPhone 4 e diferentes versões de Windows XP Service Pack 3:


Obviamente essa varredura é mais lenta, pois envolve o processo de descobrir portas abertas no alvo. Se o Nmap não conseguir detectar nenhuma porta aberta na detecção de S.O. do alvo, ele retorna o erro: "Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port" (Aviso: Os resultados da varredura de O.S. não são confiáveis pois não conseguimos encontrar nem ao menos uma porta aberta e uma fechada).

ex: nmap -O 192.168.1.120

-sV: detecção de versão

O parâmetro "-sV" habilita a detecção de versão do serviço. É uma das funções mais "queridas" do Nmap e é muito útil para identificar vulnerabilidades de segurança ou certificar-se que um serviço está rodando numa determinada porta. 
Veja a diferença das varreduras a seguir (quando scaneado com o parâmetro -sV, surge uma coluna chamada "Version" na saída do comando).

ex: nmap 192.168.1.120
ex: nmap -sV 192.168.1.120


O parâmetro "-sV" permite ainda alterar o nível de intensidade da detecção com o argumento "--version-intensity [0-9]" que vai de 0 (menos intenso) a 9 (mais intenso).

ex: nmap -sV --version-intensity  9  192.168.1.120


-sS: varredura TCP SYN

Também chamado de "half-open scanning", pois essa técnica permite ao Nmap buscar informações do host remoto, sem completar o TCP handshake. O Nmap manda pacotes "SYN" para o alvo, porém nunca estabelece uma conexão. Como resultado, o alvo não cria logs dessa interação pois nenhuma sessão foi iniciada.

ex: nmap -sS 192.168.1.120

-sT: varredura TCP Connect()

Uma varredura comumente utilizada quando é impossível utilizar a opção "-sS" (pois essa requer privilégios de root). A varredura TCP Connect, ao contrário da "SYN", completa o TCP handshake e solicita que o sistema faça uma chamada connect(). Obviamente esse tipo de informação gera logs, portanto procure sempre utilizar outras opções. É preciso ter em mente que essa técnica se aplica apenas às portas TCP e não às UDP.
 
ex: nmap -sT 192.168.1.120

-sU: varredura UDP

Como o nome sugere, essa técnica é utilizada para descobrir portas UDP abertas na máquina alvo. Não necessita que um pacote "SYN" seja enviado pois busca por portas UDP (não é necessário o handshake). Apesar disso, usar os parâmetros "-sS" e "-sU" juntos é mais efetivo.
 
ex: nmap -sU 192.168.1.120
-sF: varredura TCP FIN

Como o nome sugere, nessa técnica um pacote com o flag "FIN" é enviado ao alvo remoto. Dessa maneira, não há necessidade de fazer o TCP handshake. Essa técnica é utilizada geralmente quando existe a presença de um Firewall na rede, bloqueando pacotes "SYN", logo, sem a possibilidade de usar o "-sS". Assim como  a varredura TCP FIN, é possível utilizar as varreduras "xmas" (-sX) e "Null" (-sN). A ideia é a mesma, sendo a única diferença que, o xmas envia pacotes com os flags FIN, PSH e URG ligados, enquanto o Null não envia nenhum flag ligado no pacote.
 
ex: nmap -sF 192.168.1.120
-A: detecção agressiva

O Nmap tem um parâmetro especial que ativa a detecção agressiva. O modo agressivo habilita a detecção de Sistema Operacional (-O), detecção de versão (-sV), script scanning (-sC), e traceroute (--traceroute). Esse parâmetro obviamente, faz muito mais alarde o que aumenta suas chances de ser detectado. 

ex: nmap -A 192.168.1.120 
Note que o comando acima poderia ser substituído por:  nmap -O -sV -sC   192.168.1.120

-sI: varreduras Idle

Técnica bem interessante e muito "furtiva". Nas varreduras "Idle", o Nmap não manda os pacotes para o alvo usando seu IP real. Ao invés de gerar os pacotes usando o IP da máquina do atacante, o Nmap usa o IP de outra máquina ativa na rede para enviar os pacotes ao alvo. Para entender em detalhes o funcionamento da varredura Idle, acesse: http://nmap.org/idlescan-pt-br.html. Considere por exemplo que estamos no computador com o IP 192.168.1.10 e queremos scanear as portas do alvo 192.168.1.120. Na nossa rede, existe uma outra estação de IP 192.168.1.100. Essa técnica permite enviar os "probes" do nmap, como se fossemos a máquina ".100", permitindo que façamos a varredura "anonimamente".

ex: nmap -sI   192.168.1.100   192.168.1.120

-sP: varreduras Ping

As varreduras Ping se diferenciam dos demais tipos de varreduras, pois elas não são utilizadas para identificar portas abertas, e sim para identificar se um host está ativo ou não. Esse tipo de varredura exige privilégios administrativos, uma vez que pacotes ICMP precisam ser enviados, mas caso o usuário não tenha esse privilégio, serão utilizadas chamadas "connect()".

ex: nmap -sP 192.168.1.120

Na parte 3 desse mini guia vamos explorar mais algumas funcionalidades do Nmap. Até o próximo.

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

quinta-feira, 16 de outubro de 2014

Mini guia do Nmap: Parte 1


Não se assuste com o tamanho do post, trata-se de um mini guia mesmo. Bem mini, pois o Nmap é uma das ferramentas que mais têm parâmetros de utilização no mundo Linux, tanto que nem todos foram documentados ainda. O Nmap (Network Map) é uma ferramenta utilizada para auditoria de segurança e exploração de redes, tanto por pentesters quanto por hackers, crackers e script kiddies, mas creio que essa breve descrição, não lhe seja totalmente justa. O Nmap tem muitas outras funcionalidades e, obviamente, é tarefa hercúlea (e sequer é minha intenção), esgotá-lo num único post do blog. O nmap também pode ser uma ferramenta de inventário, pode verificar quais são os hosts ativos da rede, verificar as portas abertas desses hosts, serviços e respectivas versões escutando nessas portas, detectar quais os sistemas operacionais e IPs dos hosts, detectar brechas de segurança e vulnerabilidades (através dos "nmap scripts"), detectar se um firewall está em uso numa determinada estação ou rede, dentre outras funcionalidades.
A página oficial do projeto é http://nmap.org/ e, para você ter uma ideia, o seu criador, Gordon “Fyodor” Lyon (fyodor@insecure.org), levou quase 4 anos para escrever o livro “Nmap Network Scanning”, acessível online em http://nmap.org/book/toc.html (ISBN: 978-0-9799587-1-7 - ISBN-10:s 0-9799587-1-7). 

http://nmap.org/
Gordon "Fyodor" Lion - Criador do Nmap 

http://nmap.org/book/toc.html
 O livro: NMAP Network Scanning

A ferramenta possui inclusive um site, no qual você pode direcionar gratuitamente seus testes com o nmap, acessível em http://scanme.nmap.org (o desenvolvedor só pede que você "pegue leve" com o servidor, fazendo apenas algumas poucas varreduras diárias =)).

http://scanme.nmap.org

O Nmap é multiplataforma. Roda em Linux, BSD, Windows e Mac OS. Para você ter uma ideia da popularidade da ferramenta, o autor mantém a página http://nmap.org/movies/ onde registra as aparições do “PopStar” nmap nos filmes de Hollywood. Acha que é pouca coisa? Entre os filmes listados estão: Matrix Reloaded, O Ultimato Bourne, Elysium, Millenium - Os Homens que Não Amavam as Mulheres, G.I.Joe – Retaliação, Duro de Matar 4 entre diversos outros.

http://nmap.org/movies/
 Cena de Matrix Reloaded, onde Trinity está "mitando" com o nmap =)

 Vale lembrar que o Nmap possui uma versão gráfica chamada Zenmap, mas sempre recomendo a versão em linha de comandos pois você se obriga a pesquisar bem os parâmetros para não cometer erros simplórios. 
 
Porém vamos ao que interessa: verificar algumas das funcionalidades dessa poderosa ferramenta. Veja que, o uso do Nmap pode ser absolutamente básico ou avançado; tudo depende do cenário onde você irá utilizá-lo. É crítico lembrar que, as opções exibidas abaixo, podem ser combinadas para formar a sintaxe desejada.

IMPORTANTEPara entender as respostas do Nmap, é importante informar que ele categoriza as portas de acordo com os seguintes estados (tradução livre da página do nmap):
  • Open: Uma aplicação está ativa nesta porta e aceitando conexões TCP, datagramas UDP ou associações SCTP. Encontrar essas informações geralmente é o objetivo primário do "port scanning". Pessoas cientes da segurança sabem que cada porta aberta é um possível vetor de ataque. Atacantes e pentesters tentam explorar essas portas abertas enquanto os administradores tentam fechá-las ou protegê-las com firewall, sem causar danos a  usuários legítimos. Portas abertas também são interessantes para varreduras não relacionadas a segurança pois elas mostram os serviços disponíveis para uso na rede.  
  • Closed: Uma porta fechada é acessível, mas não existe nenhuma aplicação escutando nela (ela recebe e responde aos "probe packets" do Nmap). Elas podem ajudar a mostrar que um host num determinado IP está no ar (descoberta de host ou varredura de ping),  e fazem parte de uma detecção de sistema operacional. Como as portas fechadas podem ser alcançadas, pode valer a pena scaneá-las posteriormente, para ver se alguma delas abriu. Os administradores devem considerar bloquear tais portas com um firewall. Dessa maneira, elas aparecerão no estado "Filtered", discutido a seguir. 
  • Filtered: O Nmap não consegue determinar se a porta está aberta pois uma filtragem de pacotes impede seus "probes" de atingirem a porta. Essa filtragem pode ser proveniente de um firewall dedicado, regras de roteadores, ou firewalls de desktop baseado em host no computador remoto. Essas portas frustram os atacantes, pois elas fornecem muito pouca informação. As vezes elas respondem com mensagens de erro ICMP do tipo 3, código 13 (destino inalcançável: comunicação proibida administrativamente), porém filtros que dropam o pacote sem dar qualquer tipo de resposta são muito mais comuns. Isto força com que o Nmap tente novamente por diversas vezes, caso o "probe" tenha sido dropado por congestionamento da rede ao invés de filtragem. Isso reduz a drasticamente a velocidade da varredura.
  • Unfiltered: Significa que a porta está acessível, porém o Nmap foi incapaz de determinar se a porta está aberta ou fechada. Somente a varredura "ACK", que é utilizada para mapear regras de firewall, classifica as portas nesse estado. Escaneando portas com o estado "unfiltered" com outros tipos de varredura como a "Window scan", "SYN" ou "FIN", podem ajudar a determinar se a porta está aberta.
  • Open/Filtered: O Nmap define portas com esse estado, quando não consegue determinar se a porta está aberta ou filtrada. Isto ocorre nos tipos de varredura em que portas abertas não dão nenhuma resposta. A falta de resposta também pode significar que um filtro de pacotes descartou o "probe" ou qualquer resposta é suscitada, logo, o Nmap não sabe com certeza quando a porta está aberta ou sendo filtrada. As varreduras "UDP", "protocolo IP", "FIN", "NULL" e "XMAS" classificam as portas dessa maneira.
  • Closed/Filtered: Este estado é utilizado quando o Nmap não consegue determinar se uma porta está fechada ou filtrada. Se é utilizada pela varredura de IP "ID idle".
CENÁRIO: Na rede onde os exemplos estão sendo executados, existem duas máquinas virtuais. Lembrando que, como a ideia é executar esses comandos em ambiente controlado apenas para aprendizagem, recomendo-o também fazer esses exemplos num ambiente virtual. Qualquer uso desses comandos num ambiente real (produção) é por sua conta e risco. Não invada a rede de ninguém e estude bem a ferramenta antes de executar suas funções.
- Backtrack: 192.168.1.10 (máquina onde os comandos são executados)
- Slackware: 192.168.1.120 (única máquina ativa na rede 192.168.1.0/24)
- Note que, quando você ler "alvo" na sintaxe, pode estar se referindo tanto a um IP (ex: 192.168.1.120) quanto a um domínio (ex: scanme.nmap.org).

- Scanear um único host:

nmap [alvo]
ex: nmap  scanme.nmap.org
ex: nmap  192.168.1.120


- Scanear diversos hosts:

nmap [alvo1] [alvo2] [alvo3] [alvo_"n"]
ex: nmap  192.168.1.120   192.168.1.121  192.168.1.200

- Scanear diversos IPs através de um arquivo de hosts:
O nmap permite especificar um arquivo contendo o endereço de diversos hosts. Uma vez que o arquivo foi criado, é possível scaneá-los usando-se os parâmetros "-iL" no nmap.

nmap -iL [arquivo_alvos]
ex: nmap -iL alvos.txt 


- Scanear um intervalo contíguo dentro de uma rede:

nmap [alvo_inicial]-[alvo_final]
ex: nmap  192.168.1.120-200

- Scanear toda uma rede:

nmap [rede/CIDR]
ex: nmap 192.168.1.0/24

- Scanear toda uma rede, excluindo alguns hosts:

Pode acontecer de você precisar scanear toda uma rede mas ter a necessidade de excluir um host da varredura (um sistema que sabidamente possui um IDS, por exemplo). Você pode executar a busca com o parâmetro "--exclude".
nmap [rede/CIDR] --exclude [ip_indesejado]
ex: nmap 192.168.1.0/24 --exclude 192.168.1.120


- Scanear uma rede excluindo determinados hosts de um arquivo:

Assim como o nmap permite definir um arquivo com os hosts que devem ser scaneados, ele também permite usar um arquivo para definir quais hosts não devem ser scaneados. Para isso, usa-se o parâmetro "--excludefile". 

nmap [rede/CIDR] --excludefile  [arquivo_ips_indesejados]
ex:  nmap  192.168.1.0/24  --excludefile  exclusoes.txt


- Scanear portas específicas:

Por padrão, o Nmap scaneia as chamadas portas baixas (de 0 a 1024) e as portas presentes no arquivo "nmap-services". Ou seja, ele não escaneia por padrão todas as portas de um determinado servidor, e sim as mais comuns. Se você precisa especificar portas específicas ou se precisa scanear todas as portas de um alvo, pode utilizar o parâmetro "-p". Abaixo seguem 2 exemplos distintos:

nmap -p [porta1],[porta2],[porta3],[porta_"n"]  [ip_alvo] -> verifica apenas portas específicas de um determinado alvo.
ex: nmap -p80,443,3128,8080 192.168.1.120

nmap -p [porta_inicio]-[porta_final]  [ip_alvo]  -> verifica todo o intervalo de portas especificado no intervalo.
ex:  nmap -p 0-65535 192.168.1.120


O que vimos até agora é a maneira mais básica de utilizar o Nmap. NA parte 2 desse mini guia, vamos explorar algumas das técnicas utilizadas pelo Nmap para encontrar e obter informações dos hosts na rede.

Para saber mais:

t+

Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

Conheça o KeepNote


O KeepNote é uma ótima ferramenta para organizar anotações sobre um determinado “alvo”. Conforme estudamos em aula, é imprescindível que façamos primeiramente o Fingerprint/Footprint/Enumeração do alvo, para que se possa analisar e logo, escolher, quais as possíveis vulnerabilidades a serem exploradas num determinado ambiente. Esse processo, pode exigir que muita informação seja coletada e armazenada e uma ferramenta como o KeepNote, ajuda a manter a organização dessas informações.

O Keep note permite registrar anotações, pensamentos, fazer esboços e rascunhos e muito mais, de forma hierarquizada e em Rich-Text. Permite o uso de imagens, adicionar anexos e permite até mesmo o uso de plug-ins. A página do projeto é http://keepnote.org .

http://keepnote.org/http://keepnote.org/

 O KeepNote roda em Linux, Mac OS e Windows. Assemelha-se muito em funcionalidade ao Microsoft OneNote, porém, obviamente open source.

Seu desenvolvedor Matthew Rasmussen (@mattrasmus), gosta de pensar que um software de anotações não é como um simples editor de texto ou uma página web e sim de um novo tipo de ferramenta que precisa de sua própria interface. Como menciona o autor, ele gosta de pensar que “anotações são como e-mails para mim mesmo”, e logo, você notará que a interface do programa se assemelha bastante a interface de um gerenciador de e-mail.
http://keepnote.org/

Veja abaixo mais screenshots da ferramenta, retiradas do próprio site do produto:

http://keepnote.org/ 
  t+


Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

quarta-feira, 15 de outubro de 2014

Alternate Data Stream (ADS) no Windows + ADS Spy



Você sabia que os arquivos do seu computador, podem “esconder” outros arquivos? Um arquivo de texto, por exemplo, pode esconder outro arquivo de texto (surpresa!!!!) ou até mesmo um programa (surpresa ruim!!!). E isso, é claro, sem que você saiba. 

Mas essa "funcionalidade" possui seu uso legítimo. A grosso modo pense que há muito tempo existia uma dificuldade de sistemas Windows NT, que utilizam NTFS (New Technology File System) se comunicarem com sistemas MAC OS que utilizam HFS (Hierarchical File System), pois esse último não utilizava extensões de arquivos (.doc, .xls, .exe. etc), para que o sistema operacional pudesse associar arquivos aos seus programas padrões. Isso porque os arquivos no Macintosh tinham dois Forks: o Resource Fork (Fork de Recurso), que continha essas e outras informações necessárias para trabalhar com os arquivos e o Data Fork (Fork de Dados), que continha os dados dos arquivos propriamente ditos. Numa eventual cópia de arquivo, por exemplo, seria copiado apenas o fork de dados, uma vez que o fork de recursos não estava fisicamente no arquivo mas num stream separado (o Resource Fork e o Data Fork  não ocupavam o mesmo cluster no disco). A Microsoft então cria o NTFS ADS (Alternate Data Stream), que enxerga o Resource Fork  como outro stream e é capaz de copiá-lo com o arquivo original num computador com Macintosh. Ou seja, a grosso modo, o ADS surgiu como uma iniciativa da Microsoft para fornecer compatibilidade com o antigo sistema de arquivos HFS do Mac OS. 

Um dos problemas do ADS é que a grande maioria dos usuários de NTFS (sistema de arquivos recomendável nos S.O. Microsoft a partir do Windows NT, como Windows XP, Windows 2000, 2003, 7, 2008, etc, por fornecer maior segurança), incluindo usuários administradores, não sabem da existência do ADS e alguns poucos que já ouviram falar, não sabem como detectar que streams existem nos arquivos. Outro problema grave é a sua quase “invisibilidade” para o usuário. Uma pessoa poderia criar um arquivo de texto de "1 byte" e adicionar um arquivo de "2GB" no seu ADS. Esses "2GB" não seriam vistos no Windows Explorer que, apesar de alterar a data de modificação quando o stream fosse adicionado, continuaria mostrando o tamanho do arquivo com apenas "1 byte" de informação. Mas esse cenário pode ficar ainda pior, pois seria possível colocar um arquivo binário ou executável no stream de um arquivo texto, e este não seria identificado pelo sistema operacional, a não ser com ferramentas específicas. Que belo método para implantar um backdoor hein?! De alguns anos para cá, os softwares antivírus são capazes de detectar informações de ADS maliciosas ou modificados de um arquivo, mas se você usa soluções gratuitas de AV, creio que dificilmente estará protegido.

Independente de o sistema operacional prover suporte, o Windows Explorer ou o próprio comando “dir”, simplesmente ignoram as informações de ADS. Aliás o Windows Explorer, numa eventual cópia de arquivos, copia também as informações de ADS e até avisa o usuário caso o sistema de arquivos do destino não suporte essa funcionalidade, porém só calcula o tamanho do stream principal e não lista o stream dos arquivos ou pastas. O Windows PowerShell, já fornece ferramentas para manipular o ADS.


Veja um exemplo na imagem abaixo: note que nessa pasta, temos um arquivo chamado "teste.txt", criado as 11:01 do dia 15/10/2014. Esse arquivo não tem qualquer informação dentro dele, pois seu tamanho é de "0 KB".


Foi então executado o seguinte comando: echo "Arquivo escondido" > teste.txt:hiden.txt
O que este comando faz, é criar um novo arquivo chamado "hiden.txt" com o conteúdo "Arquivo escondido", armazenando-o no ADS do arquivo "teste.txt". Atente ao fato de que, após a execução desse comando, foi executado o comando "dir" no mesmo diretório e, mesmo esse arquivo tendo agora informações de ADS  (um arquivo inteiro diga-se de passagem), o tamanho do arquivo permanece sendo de "0 KB", apesar da data de modificação ter sido alterada.


E isso se reflete inclusive no Windows Explorer. Tamanho do  arquivo = 0 KB. Porém se executarmos o comando "notepad  teste.txt:hiden.txt", seremos capazes de editar o arquivo teste.txt:hiden.txt, conforme pode ser visto na tela abaixo. 


A boa notícia é: desde a versão 7 do seu sistema operacional Windows, a Microsoft impede que arquivos executáveis rodem através do ADS. Ou seja, você até pode guardar esse tipo de arquivo nas informações de ADS, porém não conseguirá executá-los (continua funcional para outros tipos de arquivos, como textos, por exemplo).

A má notícia é: usando o comando "mklink" é possível criar links simbólicos para arquivos executáveis armazenados no ADS e executá-los da mesma maneira. :(  Veja na sequência abaixo:

Queremos colocar um arquivo executável dentro do ADS de um arquivo texto. Apenas para fazer esse exemplo, utilizaremos o "cscript.exe" (presente no C:\Windows\System32). Para isso, criamos um arquivo chamado "teste.txt" com qualquer informação dentro dele (apesar disso não ser mandatório). O tamanho do arquivo ficou 1 KB, como pode ser visto abaixo.


Conforme a tela abaixo, executamos o comando: "type cscript.exe>teste.txt:cscript.exe",  que nos permitiu jogar o conteúdo do arquivo "cscript.exe" para dentro do ADS do arquivo "teste.txt".


Verifique novamente que, apesar da data de modificação do arquivo ter sido alterada, ele agora possui 124 KB (tamanho do arquivo "cscript.exe"), dentro das suas informações de ADS. Porém através do Windows Explorer, continuamos visualizando apenas o tamanho dos seus dados, que é de 1 KB. 


Agora vamos criar um link para um arquivo chamado "fotos.exe", que aponta para o "cscript.exe".  Faremos isso através do comando:  mklink  fotos.exe   teste.txt:cscript.exe.


Veja que, se executarmos o arquivo "fotos.exe", a resposta é justamente o comando "cscript.exe" que copiamos para o ADS anteriormente. Ou seja, mesmo o Windows bloqueando o acesso de executáveis do ADS, essa é uma medida relativamente simples de ser burlada e pode ser utilizada por pessoas mal intencionadas.


O programa ADS Spy pode ajudá-lo a ver as informações ADS de determinados arquivos. 


Ele pode fazer verificações rápidas, em todo o sistema de arquivos ou numa pasta específica. Apenas tenha cuidado com o uso do ADS Spy, pois existem arquivos de sistema do Windows com informações de ADS legítimas. Pesquise sobre os alternate data streams dos arquivos que encontrar. Essa será inclusive, uma bela oportunidade para você conhecer mais a fundo o seu sistema operacional. 

Se você quiser saber mais sobre o ADS, seguem alguns links interessantes:




t+


Cristiano
"A grandeza não consiste em receber honras, mas em merecê-las." - Aristóteles

Related Posts Plugin for WordPress, Blogger...