3 de fevereiro de 2006
Agora o que me levou a escrever esse post foi um comando em especial:
http://www.google.com/search?
&ie=UTF-8&oe=UTF-8&q=%22Network+Host
+Assessment+Report%22+%22Internet+Scanner%22
Você vai encontrar inúmeros resultados de análise de vulnerabilidade. Ai eu pergunto, como um "especialista" pode deixar um documento desse exposto? Sem comentários!
Debug

Filemon
O filemon vai te dar uma ampla visão de quais os componentes (dll, ocx, etc...) que estão sendo chamados e lhe dará informações sobre o funcionamento, se um componente chamar um outro componente que não existe ele irá mostrar o nome do arquivo ausente, se ele tentar acessar um componente e não tiver acesso ele irá informar, com essas informações fica muito mais fácil encontrar um problema.
Filemon - http://www.sysinternals.com/Utilities/Filemon.html
Se você é hardcode e quer pegar o bicho na unha, existe um artigo do Mark Russinovich explicando como funciona a API de depuração do Windows, artigo de excelente qualidade.

Native API - http://www.sysinternals.com/Information/NativeApi.html
Agora o que me levou a escrever esse post foi um comando em especial:
http://www.google.com/search?
&ie=UTF-8&oe=UTF-8&q=%22Network+Host
+Assessment+Report%22+%22Internet+Scanner%22
Você vai encontrar inúmeros resultados de análise de vulnerabilidade. Ai eu pergunto, como um "especialista" pode deixar um documento desse exposto? Sem comentários!
31 de janeiro de 2006
nmap

gerando o arquivo xml com o resultado do scan

chamando o fe3d passando o arquivo xml como parametro

Resultado do fe3d
Teclas de atalho para manipular o resultado
O - Open File (Win32 only)
A - Add another file to the mix (Win32 only)
C - Reset all transformations
R - Start/Stop rotation
U - Reload current drawing file
S - Take a screenshot (PNG File)
Esc - Quit
Arrows - Rotate viewpoint about the 'origin', left, right, up, down
+/- - Increase/Decrese autorotation speed
Ctrl+LMB - Pan up and down
Shift+RMB - Zoom
RMB - Rotate around the vertical axis
Site do fe3d - http://projects.icapsid.net/fe3d/
nmap
gerando o arquivo xml com o resultado do scan
chamando o fe3d passando o arquivo xml como parametro
Resultado do fe3d
Teclas de atalho para manipular o resultado
O - Open File (Win32 only)
A - Add another file to the mix (Win32 only)
C - Reset all transformations
R - Start/Stop rotation
U - Reload current drawing file
S - Take a screenshot (PNG File)
Esc - Quit
Arrows - Rotate viewpoint about the 'origin', left, right, up, down
+/- - Increase/Decrese autorotation speed
Ctrl+LMB - Pan up and down
Shift+RMB - Zoom
RMB - Rotate around the vertical axis
Site do fe3d - http://projects.icapsid.net/fe3d/
30 de janeiro de 2006
SCADA
Segundo o Wikipedia
Sistemas de Supervisão e Aquisição de Dados, ou abreviadamente SCADA (proveniente do seu nome em inglês Supervisory Control and Data Acquisition) são sistemas que utilizam software para monitorar e supervisionar as variáveis e os dispositivos do sistema de controle conectados através de drivers específicos. Estes sistemas podem assumir topologias mono-posto, cliente-servidor ou multiplos servidores-clientes. Actualmente tendem a libertar-se de protocolos de comunicação proprietarios, com dispositivos de controlo como autómatos porgramaveis, módulos de entradas/ saidas remotas, controladores, registadores , etc, para arquitecturas cliente-servidor OPC (OLE for Process Control).
E ai o que eu tenho com isso? Já imaginou se esses sistemas fossem explorados por terroristas?
Foi o que David Maynor e Robert Graham apresentaram na Black Hat.
http://www.blackhat.com/presentations/
bh-federal-06/BH-Fed-06-Maynor-Graham.pdf
Por curiosidade dei uma olhada no xForce, dê uma olhada nisso
http://xforce.iss.net/xforce/
search.php?type=2&pattern=scada&x=8&y=13
SCADA
Segundo o Wikipedia
Sistemas de Supervisão e Aquisição de Dados, ou abreviadamente SCADA (proveniente do seu nome em inglês Supervisory Control and Data Acquisition) são sistemas que utilizam software para monitorar e supervisionar as variáveis e os dispositivos do sistema de controle conectados através de drivers específicos. Estes sistemas podem assumir topologias mono-posto, cliente-servidor ou multiplos servidores-clientes. Actualmente tendem a libertar-se de protocolos de comunicação proprietarios, com dispositivos de controlo como autómatos porgramaveis, módulos de entradas/ saidas remotas, controladores, registadores , etc, para arquitecturas cliente-servidor OPC (OLE for Process Control).
E ai o que eu tenho com isso? Já imaginou se esses sistemas fossem explorados por terroristas?
Foi o que David Maynor e Robert Graham apresentaram na Black Hat.
http://www.blackhat.com/presentations/
bh-federal-06/BH-Fed-06-Maynor-Graham.pdf
Por curiosidade dei uma olhada no xForce, dê uma olhada nisso
http://xforce.iss.net/xforce/
search.php?type=2&pattern=scada&x=8&y=13
Blueprint

Zachman Framework
http://www.zifa.com
http://www.software.org/pub/architecture/zachman.asp

Windows Server System Reference Architecture
http://www.microsoft.com/technet/itsolutions/wssra/raguide/default.mspx
Blueprint
Zachman Framework
http://www.zifa.com
http://www.software.org/pub/architecture/zachman.asp

Windows Server System Reference Architecture
http://www.microsoft.com/technet/itsolutions/wssra/raguide/default.mspx
13 de janeiro de 2006
Anti o que?
Ultimamente as vulnerabilidades são cada vez piores, como os casos de imagens e WMF do Windows, sem contar o Plug And Play. Mais o problema é um pouco pior quando falamos dos 0 days como o caso atual do WMF, a vulnerabilidade era extremamente crítica e o patch saiu aproximadamente uma semana depois, existia um patch não oficial, mais apesar do patch ser de quem era, eu não instalaria um patch que não seja do fabricante.
Se não bastasse os ataques a sistemas operacionais e aplicações, os principais alvos agora são as aplicações que são instaladas justamente para proteger, isso mesmos já existem várias vulnerabilidades em ferramentas de antivírus.
Então aqueles usuários e "administradores" despreparados estão literalmente colocando uma raposa para cuidar do galinheiro, muita gente ainda não se deu conta da importância de se atualizar sistemas operacionais e aplicações críticas como servidor de aplicação, banco de dados, quem dirá estar atento a vulnerabilidades que afetam os sistemas que ele instalou para protege-lo.
Atenção total a tudo que você instala em seu equipamento, procure sempre estar atento a bugs e patchs de atualização, inclusive para os dispositivos de proteção, firewall, antivírus, antispyware, etc...
Mobilidade...
Mais e quando você recebe aquele sms e precisa dar algum comando urgente no equipamento e não possui um laptop, ou qualquer outro equipamento como um palm com aquele cliente de Terminal Service?
Se você tiver um celular com WAP nem tudo está perdido, de uma olhada nesse artigo escrito no site viva o linux.
Acesso SSH com celular
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4035
Anti o que?
Ultimamente as vulnerabilidades são cada vez piores, como os casos de imagens e WMF do Windows, sem contar o Plug And Play. O problema é um pouco pior quando falamos dos 0 days como o caso atual do WMF, a vulnerabilidade era extremamente crítica e o patch saiu aproximadamente uma semana depois, existia um patch não oficial, mas apesar do patch ser de quem era, eu não instalaria um patch que não seja do fabricante.
Se não bastasse os ataques a sistemas operacionais e aplicações, os principais alvos agora são as aplicações que são instaladas justamente para proteger, isso mesmo já existem várias vulnerabilidades em ferramentas de antivírus.
Então aqueles usuários e "administradores" despreparados estão literalmente colocando uma raposa para cuidar do galinheiro, muita gente ainda não se deu conta da importância de se atualizar sistemas operacionais e aplicações críticas como servidor de aplicação, banco de dados, quem dirá estar atento a vulnerabilidades que afetam os sistemas que ele instalou para protege-lo.
Atenção total a tudo que você instala em seu equipamento, procure sempre estar atento a bugs e patchs de atualização, inclusive para os dispositivos de proteção, firewall, antivírus, antispyware, etc...
Mobilidade...
Mas e quando você recebe aquele sms e precisa dar algum comando urgente no equipamento e não possui um laptop, ou qualquer outro equipamento como um palm com aquele cliente de Terminal Service?
Se você tiver um celular com WAP nem tudo está perdido, de uma olhada nesse artigo escrito no site viva o linux.
Acesso SSH com celular
http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=4035
2 de janeiro de 2006
Expressão Regular
E eu diria que a maioria dos que usam expressões regulares se limitam a validações de CNPJ, E-mail, etc. O uso de expressão regular pode melhorar muito a segurança de aplicações, como nos exemplos a seguir:
Expressão regular contra Sql Injection
"(script)|(<)|(>)|(%3c)|(%3e)|(SELECT) |(UPDATE) |(INSERT) |(DELETE)|(GRANT) |(REVOKE)|(UNION)|(<)|(>)"
Expressão para requerimento de senha complexa (passfilt)
"(?=^.{8,255}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])
(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)
(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*"
Muita coisa ainda pode ser feito com expressões regulares, análise de logs, assinatura para detecção de ataques. Recomendo uma pesquisa sobre expressões regulares.
No site Regular Expression Library você encontra muitos exemplos.
http://www.regexlib.com/
Expressão Regular
E eu diria que a maioria dos que usam expressões regulares se limitam a validações de CNPJ, E-mail, etc. O uso de expressão regular pode melhorar muito a segurança de aplicações, como nos exemplos a seguir:
Expressão regular contra Sql Injection
"(script)|(<)|(>)|(%3c)|(%3e)|(SELECT) |(UPDATE) |(INSERT) |(DELETE)|(GRANT) |(REVOKE)|(UNION)|(<)|(>)"
Expressão para requerimento de senha complexa (passfilt)
"(?=^.{8,255}$)((?=.*\d)(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)(?=.*[^A-Za-z0-9])
(?=.*[a-z])|(?=.*[^A-Za-z0-9])(?=.*[A-Z])(?=.*[a-z])|(?=.*\d)
(?=.*[A-Z])(?=.*[^A-Za-z0-9]))^.*"
Muita coisa ainda pode ser feito com expressões regulares, análise de logs, assinatura para detecção de ataques. Recomendo uma pesquisa sobre expressões regulares.
No site Regular Expression Library você encontra muitos exemplos.
http://www.regexlib.com/
29 de dezembro de 2005
Alternate Data Stream
O Recurso é o Alternate Data Stream, com esse recurso um usuário mal intencionado pode “esconder” um trojam, ferramenta ou qualquer outro arquivo em um arquivo de sua confiança. Isso só irá funcionar na maquina onde foi executado, não é possivel um invasor esconder o trojam em um arquivo e enviar para você, mais existe várias maneiras de um invasor executar isso na sua maquina e deixar alguma coisa escondida sem que você perceba.
Eu fiz um teste aqui escondendo o nmap na minha inofensiva calculadora.

Escondendo o nmap usando o comando type

Executando o nmap escondido em minha calculadora
Ok, mais certamente meu antívírus irá detectar isso. Não foi o que meus testes apresentaram, eu fiz um scan na minha maquina com o nmap em seu local original o antivírus acusou como uma ferramenta potencialmente perigosa, em seguida eu apaguei o nmap original e passei o antívirus novamente para verificar se ele iria encontrar o nmap que havia escondido na calculadora, não encontrou nada. E o nmap continua escondido e posso utilizar normalmente. Perigoso não?
O Alternate Data Stream tambem é criado quando adicionamos informações a propriedades do arquivo, as ferramentas de detecção ainda tem dificuldades com essa “técnica”, mais a kasperky já usa um stream para guardar informação sobre os scans realizados e já existe ferramentas que possibilitam a identificação de stream em seus arquivos.
Chkdsk - http://www.microsoft.com/resources/documentation/
windows/xp/all/proddocs/en-us/chkdsk.mspx
Lads - http://www.heysoft.de/Frames/f_sw_la_de.htm
Streams - http://www.sysinternals.com/utilities/streams.html
Algumas pessoas indicam um tripwire para identificar qualquer iniciativa de stream, eu particularmente não acho viável, porque geralmente usamos o tripwire em arquivos críticos e não em todos os arquivos.
Mais informações:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003
/library/TechRef/8cc5891d-bf8e-4164-862d-dac5418c5948.mspx
Alternate Data Stream
O Recurso é o Alternate Data Stream, com esse recurso um usuário mal intencionado pode “esconder” um trojam, ferramenta ou qualquer outro arquivo em um arquivo de sua confiança. Isso só irá funcionar na maquina onde foi executado, não é possivel um invasor esconder o trojam em um arquivo e enviar para você, mas existe várias maneiras de um invasor executar isso na sua maquina e deixar alguma coisa escondida sem que você perceba.
Eu fiz um teste aqui escondendo o nmap na minha inofensiva calculadora.
Escondendo o nmap usando o comando type
Executando o nmap escondido em minha calculadora
Ok, mais certamente meu antívírus irá detectar isso. Não foi o que meus testes apresentaram, eu fiz um scan na minha maquina com o nmap em seu local original o antivírus acusou como uma ferramenta potencialmente perigosa, em seguida eu apaguei o nmap original e passei o antívirus novamente para verificar se ele iria encontrar o nmap que havia escondido na calculadora, não encontrou nada. E o nmap continua escondido e posso utilizar normalmente. Perigoso não?
O Alternate Data Stream tambem é criado quando adicionamos informações a propriedades do arquivo, as ferramentas de detecção ainda tem dificuldades com essa “técnica”, mais a kasperky já usa um stream para guardar informação sobre os scans realizados e já existe ferramentas que possibilitam a identificação de stream em seus arquivos.Chkdsk - http://www.microsoft.com/resources/documentation/
windows/xp/all/proddocs/en-us/chkdsk.mspx
Lads - http://www.heysoft.de/Frames/f_sw_la_de.htm
Streams - http://www.sysinternals.com/utilities/streams.html
Algumas pessoas indicam um tripwire para identificar qualquer iniciativa de stream, eu particularmente não acho viável, porque geralmente usamos o tripwire em arquivos críticos e não em todos os arquivos.Mais informações:
http://www.microsoft.com/technet/prodtechnol/windowsserver2003
/library/TechRef/8cc5891d-bf8e-4164-862d-dac5418c5948.mspx
28 de dezembro de 2005
Covert Channel

Gray World.net Team - http://gray-world.net/pr_cctde.shtml
Covert Channel

Gray World.net Team - http://gray-world.net/pr_cctde.shtml
27 de dezembro de 2005
Hash...
Exemplos de implementação em diversas linguagens.
Sha-256 para implementar em java
http://elvin.dstc.com/projects/je4/api/org/elvin/util/SHA256.html
Sha-256 para implementar em .net
http://msdn.microsoft.com/library/default.asp?url=/library/
en-us/cpref/html/frlrfsystemsecuritycryptographysha256classtopic.asp
Sha-256 para implementar em delphi
http://www.cityinthesky.co.uk/cryptography.html
Sha-256 para implementar em perl
http://rpmfind.net/linux/RPM/sourceforge/p/pe/perl-strip/
perl-Digest-SHA256-0.01b-1.i386.html
Uma biblioteca que implementa vários tipos de hash em diversas linguagens
http://www.slavasoft.com/quickhash/
Várias informações sobre implementação de Diffie-Hellman, RSA, hash em diversas linguagens
http://www.di-mgt.com.au/crypto.html
As vezes é interessante implementar criptografia, hash no banco, eu encontrei o XP_CRYPT_GUI para Sql Server, me pareceu muito interessante.
XP_CRYPT_GUI
http://www.xpcrypt.com/xpho/xpcrypt_help1.htm