Vulnerabilidade no X Windows

Started by _Dr4k0_, 06 de August , 2006, 02:47:57 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

_Dr4k0_

Acho que este texto é meio antigo porém eu gostei muito..

Texto de :Nash Leon


**********************************
                    *    INSEGURANCA NO XWINDOWS     *
          **********************************


------------------------------- INDICE ----------------------------------

1. INTRODUCAO
2. ASPECTOS DE CONFIGURACAO
3. FERRAMENTAS
   3.1 - Scaneando Servidores e Logkey
   3.2 - Obtendo Informacoes de Servidores
   3.3 - Capturando Tela
   3.4 - Fechando Janelas Alheias
   3.5 - Ganhando Acesso Shell
   3.6 - Sugestoes
4. TERMINANDO
   4.1 - Links e Referencias.
   4.2 - Consideracoes Finais.

---------------------------------------------------------------------------

--------------
1. INTRODUCAO |
--------------

Bom irmaos, como todo mundo jah sabe.. o linux tem tido um crescimento
muito grande ultimamente... Varias sao as distribuicoes, varios sao os
tipos e varios sao os alvos das distribuicoes... Entre esses alvos,
encontram-se os usuarios comuns.O que eu chamo de usuario comum, diz
respeito aqui, a grande massa de pessoas que buscam usar linux com
diversos motivos, mas que nao procuram conhecer o sistema a fundo.

Os usuarios comuns procuram usar de inicio um linux da forma mais
simples possivel, ou seja, evitam ao maximo a complicacao.. No entanto,
evitando a complicacao, os usuarios comum terminam entrando numa
estrada desconhecida e muitas vezes perigosa.Existem varios problemas
de configuracao padrao e varios problemas que podem ser ocasionado no
uso de determinados programas.Vou enumerar um dos problemas mais comuns
encontrados hoje em dia.Os perigos existentes com o mau uso do Xwindows
e a sua mah configuracao.

----------------------------
2. ASPECTOS DE CONFIGURACAO |
----------------------------

Todo mundo deve ter conhecimento que o Xwindows por sih soh nao eh uma
aplicacao segura.Em varios sistemas ele vem configurado de forma erronea.
A gente ve muita discussao rolar em mail lists, mas o pessoal parece que
nao quer ir a fundo em determinados esquemas(problemas).Em redes locais
se torna ateh trivial brincar com o Xwindows alheio.

Muita gente costuma embelezar seu Xwin e enviar suas "Themes" p/ concursos
ou mesmo p/ divulgar a beleza que pode se tornar uma interface grafica
do linux! Dezenas de pessoas veem isso como uma forma de ficar famoso.
No entanto o universo de usuarios do Linux eh cada vez maior, e a grande
massa costuma usar o Xwin em todas as tarefas e em toda a navegacao pela
Internet.Eu particularmente uso muito pouco, pois alem de saber os
perigos que este aplicativo gera, nao vejo muita utilidade p/ um fucador
usar Xwindows! Verdadeiramente, espero com este texto alertar aos
fucadores para que procurem ficar mais no modo console(texto) e usar o
Xwindows quando for estritamente necessario! Eh comodo lermos arquivos
.pdf e .ps no xwindows, navegar usando lynx eh mais seguro do que
Netscape, ao meu ver, verdadeiramente, abrir uma porta indesejada no
meu computador nao eh uma das coisas que eu gosto muito!:)

Na maioria dos sistemas Linux, quando se executa o Xwindows, a porta
6000 eh automaticamente aberta.Fala-se como solucao a execucao do
Xwindows com o parametro '-nolisten', mas em muitos casos, este
parametro nao funciona, a porta continua escutando a espera de conexoes.

O universo de usuarios do Linux que deixam esta porta aberta eh
verdadeiramente impressionante.Fiquem calmos, amigos do IRC, nao
bisbilhotei os dados de vcs!:)..

A realidade eh que qualquer porta aberta representa um perigo consideravel
a atividades maliciosas.Nao importa qual servico seja e nem qual protocolo,
se a porta estah aberta, existe uma chance consideravel de um fucador ou
mesmo um cracker obter vantagem em cima dela.

Se o comando 'telnet alvo 6000' indicar a porta aberta e sem filtragem,
existe uma condicao muito grande de 'monitorarmos' o que um determinado
usuario estah fazendo.Nota-se que muitas pessoas nem se quer sabem que
o Xwindos abre uma porta padrao.

---------------
3. FERRAMENTAS |
---------------

Descreverei de forma basica, algumas ferramentas usadas por fucadores
p/ obter vantagens em cima do Xwindows.

3.1 - Scaneando Servidores e LogKey
--------------------------------------

O primeiro passo p/ tentarmos uma investida num servidor alvo eh vermos
se ele realmente possui uma porta 6000(ou qualquer outra como 6001, 6002
e etc) em condicoes de nos 'ceder' informacoes.Isto ocorre quando o
sistema estah configurado com o parametro 'xhost +', por exemplo.Deste modo,
nao soh a rede interna possui acesso ao servidor Xwindows, mas todo e
qualquer host na Internet. Existem varios programas que dao uma scaneada a
procura de servidores com porta 600X aberta sendo o proprio 'Nmap do Fyodor'
uma alternativa. Mas, existe um programa especifico que jah checa se ha
realmente a condicao de 'fucarmos' na porta do Xwindows, ele eh o amplamente
difundido 'xscan'!

localhost:~$ ./xscan
Usage: ./xscan | [[] [] ...]

e.g.
 ./xscan www.microsoft.com
 ./xscan 129.23.4

Alem de ser um programa simples de usar, ele tambem eh um programa
simples em toda sua essencia.Voce poderia automatizar ele para que
o informe quando uma porta esta sendo filtrada por um firewall ou
TCPWrapper.O xscan tambem possui outra particularidade, ou seja, ele
loga o que a vitima digitar, sendo um perigoso programa capaz de
capturar senhas, contas, enderecos acessados e etc.

Procure-o em http://packetstorm.securify.com/.


3.2 - Obtendo Informacoes de Servidores
----------------------------------------

Se eh interessante a possibilidade de obtermos acesso ao que o
usuario estah digitando, nos podemos ir mais longe e verificarmos o
que a sua tela estah exibindo, ou seja, capturarmos informacoes sobre
quais programas ele estah executando e ter uma ideia do que Xwindows
estah executando.Para conseguirmos isso, podemos executar um programa
jah disponivel no Slack 7.0:

/usr/X11R6/bin/xwininfo

o 'xwinfo' nos fornece informacoes sobre o Xwindows do alvo.Abaixo nos
vemos uma saida dele:

localhost:~$ xwininfo -root -all -display 127.0.0.1:0 >> xwin.info

Redirecionamos a saida p/ o arquivo 'xwin.info' e depois a analisamos:

localhost:~$ pico xwin.info


xwininfo: Window id: 0x2a (the root window) (has no name)

  Root window id: 0x2a (the root window) (has no name)
  Parent window id: 0x0 (none)
     33 children:
     0x800144 (has no name): ()  640x2+0+478  +0+478
     0x800143 (has no name): ()  2x476+638+2  +638+2
     0x80017b (has no name): ()  630x463+10+17  +10+17
        14 children:
        0x80017c (has no name): ()  620x436+5+22  +15+39
           1 child:
           0x280005b "gv 3.5.8": ("gv" "GV")  620x436+0+0  +15+39
              1 child:
              0x280005c (has no name): ()  620x436+0+0  +15+39
                 27 children:
                 0x2800080 (has no name): ()  72x25+8+8  +23+47
                 0x280007f (has no name): ()  45x25+88+8  +103+47
....
....
        1 child:
        0xc00018 "FvwmButtons": ("FvwmButtons" "FvwmButtons")  605x68+0+0  +$
        9 children:
...
...
              0x1c00009 "xclock": ("xclock" "XClock")  51x52+2+2  +29+377

....

Enfim, a saida nos fornece diversas informacoes sobre o Xwindows, como
por exemplo, que o programa GhostView(gv 3.5.8) estah sendo executado.
Com um pouco de conhecimentos basicos sobre o sistema em questao, pode-se
obter muita informacao usando esta ferramenta.

3.3 - Capturando Tela
----------------------

As coisas jah parecem bem claras agora e o perigo realmente existe se
nao formos cuidadosos.Vimos que se pode capturar informacoes sobre a
janela, que se pode capturar as teclas que estao sendo digitadas, agora
veremos que se pode capturar a tela como um todo.Para isso, precisamos
executar uma outra ferramenta que acompanha os pacotes do Xwindows:

/usr/X11R6/bin/xwd

localhost:~$ xwd -root -display 127.0.0.1:0 > teladavitima

Teremos um arquivo chamado 'teladavitima' com a tela capturada do
host alvo.Depois, tudo que precisamos fazer eh usarmos o programa 'xv'
(XView) do nosso Xwindows e iremos ver na nossa frente, na nossa maquina,
a tela capturada do sistema alvo.Esta tecnica usada em conjunto com a
captura de teclas digitadas(keylogger) produz uma perigosa ferramenta
de captura de dados!

Com esta tecnica, muitos usuarios leigos estao a merce de serem vitimas.
Verdadeiramente, eh possivel capturarmos os themes de muitos 'pseudo-hackers'
que nao soh buscam fama publicando seus themes, mas tambem visitam sites
improprios p/ criancas!:)...

Mas isso nao interessa a verdadeira comunidade de fucadores, o que de
fato nos interessa eh obter acesso a servidores!! E acredite, eh possivel
implementarmos uma tecnica dessas p/ tirarmos proveito! Muitos Servidores
nao dao a devida atencao a este problema.


3.4 - Fechando Janelas Alheias
-------------------------------

Podemos tambem fechar janelas.. Isto p/ alguns pode 'soar' como
brincadeira, afinal, a maioria considera inutil programas DoS e que
derrubam servicos! Isso, irmao, derrubam servicos, logo p/ voce que eh um
fucador e sabe que toda e qualquer possibilidade de obter vantagem eh bem
vinda, o fechamento de janelas pode vir a ser util!

Se um servidor estah executando uma determinada ferramenta IDS, ou mesmo
um firewall, uma ferramenta de log em FTP, por exemplo.. Voce poderah
fechar a janela e derrubar o servico em execucao, em muitos casos, com
a derrubada da janela, voce poderah estar apto a alcancar algo que nao
poderia se a janela estivesse aberta! Enfim, cada caso eh um caso, e o
fechamento de janelas pode vir a ser verdadeiramente util em alguma
investida.

Abaixo segue um codigo capaz de fazer isto:

------------------------ xdestroy.c ---------------------------
/* xdestroy.c
 * Destroys all windows in an X display
 *
 * Usage:       ./xdestroy hostname:0
100% Livre!!!Livre para escolher o que há de melhor no Windows e Linux. Livre de preconceito direto ou inverso!
Adote essa filosofia e tenha mais chance de sucesso profissional.