Arquivo

Archive for julho \26\+00:00 2009

Linux e Educação…

O software livre nasceu na universidade, todavia rapidamente vem se expandindo nos diversos setores da sociedade. Na educação, a adoção de softwares livres traz inúmeras vantagens frente ao software proprietário, destacando-se inicialmente a questão macroeconômica, pois os custos de manutenção de laboratórios de informática das escolas por meio de softwares livres são bem inferiores se comparados ao software proprietário.

Em alguns casos o software livre é compatível com equipamentos ditos “obsoletos”, garantindo assim o reaproveitamento de máquinas antigas, diminuindo os custos com compra de novos equipamentos ou upgrades, permitindo assim que comunidades mais carentes possam apropriar-se das novas tecnologias a baixo custo. Sem contar que tal iniciativa incide diretamente na questão socioambiental ao reduzir a carga de lixo tecnológico, que potencialmente seria descartado na natureza com baixas possibilidades de reciclagem.

Países desenvolvidos como a França e emergentes como China, por exemplo, já encorajam o uso de distribuições livres em instituições escolares e governamentais, na tentativa de reduzir a dependência de empresas americanas, em especial da Microsoft, fabricante do Windows. Desta forma, bem salienta Silveira (2003 p.41), ao invés de sermos eternos pagadores de royalties, “tais recursos poderiam ser canalizados para outros fins, como a compra de hardware ou empregados na formação, treinamento e educação digital”, pois tão importante quanto garantir o acesso as TICs é capacitar as pessoas, em especial, as comunidades mais desfavorecidas para a utilização da tecnologia em favor do exercício da cidadania.

No Brasil, o governo do Paraná conseguiu reduzir os custos de implantação de Laboratórios de Informática das escolas públicas por meio da adoção de softwares livres. Experiências como do governo paranaense estão sendo replicadas para outros estados, destacando-se São Paulo, com os Telecentros e o Rio Grande do Sul por meio da Rede Escolar Livre.

Atualmente o governo do Estado do Ceará e a Prefeitura Municipal de Fortaleza adotam o software livre como padrão nos laboratórios de informática educativa locais. A escolha de softwares livres traz inúmeras vantagens frente ao software proprietário, como argumenta Silveira (2003, p.38), destacando-se os fatores “macroeconômico, de segurança, de autonomia tecnológica, da independência de fornecedores e democrático”.

A filosofia do Software Livre é baseada, segundo Silveira (2003 p. 45), “no princípio do compartilhamento do conhecimento e na solidariedade praticada pela inteligência coletiva conectada na rede mundial de computadores”.

Corroborando com este pensamento, Nunes et al (2008, p.15) acredita que “as quatro liberdades propostas pelo software livre – conhecer, copiar, distribuir e modificar – favorecem sua adoção do contexto da escola pública”.

Para Ferro (2008), a adoção do software livre contribui também para o combate à corrupção, uma vez que a obtenção não onerosa de licenças elimina o processo licitatório e diminui a relação, nem sempre sadia, entre o setor público e empresas fornecedoras de software.

Outro aspecto descrito por Ferro (2008) é a questão ética. A opção pelo software livre representaria uma alternativa para todos aqueles recorrem à pirataria quando não podem ou não estão dispostas a adquirir licenças de software para uso doméstico, pois segundo o autor “a prática da pirataria de software tornou-se comum e criou um hiato ético que precisa ser corrigido”.

A segurança e a privacidade de informações também são fortes atrativos para a adoção do SL tanto no contexto educativo quanto doméstico, visto que não existe garantia plena de que os programas proprietários não possuam bugs (erros propositais ou não) em seu funcionamento e que os fabricantes (ou algum associado) tenham acesso não autorizado aos computadores e dados pessoais dos seus usuários.

Além das liberdades já conhecidas garantidas pela licença GPL, existe outra “liberdade” permitida ao usuário: a de escolha. O acesso ao código-fonte permite a disponibilidade quase ilimitada de aplicativos para todas as áreas, em especial os softwares educativos, permitindo a personalização, como também contribuindo para redução de dependências das empresas desenvolvedoras de softwares proprietários.

A cada ano cresce o número de software livres educativos em língua nacional. Grande parte deste sucesso deve ser creditada a interatividade das comunidades de software livre, que também tem colaborado para sua difusão na medida em que os projetos são mantidos por indivíduos de diferentes nacionalidades e distribuído na Rede Mundial de Computadores.

Um exemplo disso são as distribuições Edubuntu (Ubuntu), OpenSuSE Education (SUSE), Skolelinux (DEBIAN), Pandorga (Kurumin), versões customizadas da GNU/Linux exclusivamente de cunho educativo.

Com o advento e a velocidade da Internet, rapidamente defeitos nas distribuições livres são descobertos, corrigidos e disponibilizados em sites, fóruns e listas de discussão acessíveis a todos. A conseqüência desta construção coletiva tem sido a melhoria no desenvolvimento de software livres e a diminuição do preço das licenças de uso de software proprietário para os quais já existem alternativas de software livre de comprovada qualidade.

Segundo Silveira e Cassino (2003), o Software Livre representa uma opção pela criação, pela colaboração e pela independência tecnológica e cultural, uma vez que é baseado no princípio do compartilhamento do conhecimento e na solidariedade praticada pela inteligência coletiva conectada na rede mundial de computadores. Desta forma, o software livre apresenta um caráter libertário, pois permite a democratização do conhecimento, a construção coletiva, o estímulo à colaboração, à autonomia e a independência tecnológica, pois não podemos nos limitar a ser apenas consumidores de produtos e tecnologias proprietárias.

Dentre as limitações do SL, destacam-se: a falta de compatibilidade de alguns hardwares e/ou o desconhecimento do público em geral dos softwares e ferramentas livres, problemáticas fáceis de serem solucionadas a curto prazo. É, portanto, uma alternativa segura, eficiente, socialmente correta, ética, libertária, tecnologicamente sustentável, viável e praticamente está ao alcance de todos. Enfim, a adoção do software livre é imprescindível a qualquer projeto verdadeiramente comprometido com a inclusão digital das camadas mais desfavorecidas.

Ressalta-se que a opção pelo software livre em escolas deve-se, na maioria das vezes, a realidade das escolas públicas que não dispõe de recursos financeiros para regularização de software, elemento fundamental em políticas públicas de inclusão digital aliada a sua filosofia libertária. Segundo Silveira e Cassino (2003), não há porque gastar recursos com softwares proprietários se existem alternativas livres de qualidade similar.

Outra razão relevante na escolha do software educativo é o próprio conceito utilizado de inclusão digital, em uma perspectiva não apenas de acesso, mas também de ambiente colaborativo onde os envolvidos têm liberdade para expressarem seus pensamentos e opiniões. Desta a opção pelo software livre deve-se também a questão da autoria, da partilha, da cooperação e da colaboração.

O simples fato de disponibilizar o código fonte de forma aberta, já é uma ação significativa de exercício de cidadania. Quando este é compartilhado e aprimorado por diferentes pessoas passa a ser uma maneira de quebrar as barreiras impostas pelo capitalismo de hegemonia americana. Criar algo de forma coletiva, com custo reduzido, atrativo, criativo e bem elaborado é um meio de facilitar que mais pessoas tenham acesso as tecnologias digitais.

É, portanto, o Software Livre um instrumento de inclusão social. Em um país em que muitos vivem no limítrofe da pobreza existencial, a concentração de pesquisadores em torno de um projeto que está voltado para a diminuição dos custos de softwares sinaliza a solidariedade para com os excluídos, pois quanto mais a tecnologia estiver acessível a todos, mais teremos apoiadores nos projetos de inclusão social, que passa diretamente por ações educacionais.

Referências

FERRO, E. Software Livre: Avanço tecnológico e ético. Disponível em <http://www.vivaolinux.com.br/> Acesso em 10.08.2008

PROJETO SOFTWARE LIVRE BRASIL. O que é Software Livre? Disponível em <http://www.softwarelivre.org/> Acesso em 10.08.2008.

SILVEIRA, S. A.; CASSINO (Org.). Software Livre e Inclusão Digital. São Paulo: Conrad Editora do Brasil, 2003.

Categorias:Uncategorized

Grub com 3 sistemas operacionais e 2 HDs diferentes…

Configuração do Grub para dar boot em 3 sistemas e dois HDs diferentes (SATA1 [Debian Etch 4.0 r3 e Windows XP Professional] e IDE [Windows 7 Ultimate (BETA)]).

Dois HDs: SATA1 e IDE.

O hd SATA1 de 300Gb (sda) está particionado em 4 partições: (sda1) 1Gb Swap, (sda2) 50Gb ext3 (Debian Etch 4.0 r3), (sda3) 50Gb ntfs (Windows XP Professional), (sda4) 200Gb ext3 (backup).

O hd IDE de 40Gb (hda) está instalado em (hda2) ntfs (Windows 7 Ultimate (BETA)).

Como tenho tudo sobre controle no meu hd SATA1 (sda) onde está meu sistema principal, o Debian Etch 4.0 r3, e o mais valioso, a partição de “BACKUP”, resolvi testar o sistema “BETA” da Microsoft o Windows 7 Ultimate (BETA) no IDE (hda). Desconectei o hd SATA1 (sda) e conectei o IDE (hda) para executar a instalação do BETA da Microsoft no IDE (hda), por precaução de não fazer nenhuma M… rsrsrs… no SATA1 (sda).

Depois da instalação do Windows 7 com sucesso no IDE (hda), desliguei o PC e reconectei o SATA1 (sda) junto com o IDE (hda) é claro! De início foi tudo como manda o figurino, liguei o PC e veio a tela do grub, então iniciei o Debian (sda2). Na configuração do grub em “/boot/grub/menu.lst, incluí o Windows 7, mas de início já estava conformado do boot do Windows 7 que não iria para frente, pois tinha instalado o sistema em um único hd conectado e depois reconectei o outro hd que esta com o grub “gerenciador de boot” instalado. Como o Windows só consegue dar boot quando em “primário”, o gerenciador de boot gravado na mbr do hd IDE (hda) não iria subir pois com o SATA1 (sda) ligado, o IDE (hda) fica como secundário.

Então a configuração do grub ficou desta forma.

Exemplo de um Sistema Debian Etch 4.0 r3:

splashimage=(hd0,1)/boot/grub/caveira.xpm.gz
default        0
timeout        12

## ## End Default Options ##

title        Debian GNU/Linux, kernel 2.6.18-6-486
root        (hd0,1)—–(sda2)
kernel        /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro
initrd        /boot/initrd.img-2.6.18-6-486
savedefault

title        Debian GNU/Linux, kernel 2.6.18-6-486 (single-user mode)

root        (hd0,1)—–(sda2)

kernel        /boot/vmlinuz-2.6.18-6-486 root=/dev/sda2 ro single

initrd        /boot/initrd.img-2.6.18-6-486

savedefault

### END DEBIAN AUTOMAGIC KERNELS LIST

# This is a divider, added to separate the menu items below from the Debian
# ones.
title        Other operating systems:
root

# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sda3

title        Microsoft Windows XP Professional
rootnoverify    (hd0,2)—–(sda3)
savedefault
makeactive
chainloader    +1

# on /dev/hda2
title        Microsoft Windows 7 BETA
rootnoverify    (hd1,0)—–(hda2)
makeactive
map (hd1,0) (hd0,1)
chainloader    +1

O grande segredo foi adicionar na configuração a opção “map (hd1,0) (hd0,1)” que o grub engana o bootloader do Windows dizendo que o hd IDE (hda) seja primário.

Resumo dos parâmetros

O “rootnoverify” ao invés de root na segunda linha, pois a montagem de partição não se aplica ao Windows. O rootnoverify é usado porque esse parâmetro não tenta fazer nenhuma montagem.

O “makeactive” tem a função de definir a partição em questão como ativa.

O “map” que permite o carregamento do Windows quando este não está instalado no primeiro HD (regra obrigatória no Windows 9x, por exemplo). Sua utilização é feita da seguinte forma (supondo que o Windows esteja no segundo disco):

map (hd0) (hd1)
map (hd1) (hd0)

O “chainloader +1“, “chama” o carregador de boot do Windows, deixando a esse a tarefa de iniciar o sistema.

Categorias:Uncategorized

Comandos básicos e dicas…

  • man – Comando que mostra o manual de outro comando.
  • logout – Fecha a shell do usuário.
  • shutdown -r now – Comando utilizado para reiniciar a máquina.
  • su – Utilizado para troca de usuário sem efetuar o logout.
  • ls – Comando usado para listar arquivos.
  • cd – Comando usado para mudar de diretório.
  • cp – Copia arquivos.
  • mv – Move arquivos ou os renomeia.
  • alias – Cria um apelido para o comando.
  • clear – Limpa a tela.
  • mkdir – Comando para criação de diretórios.
  • rmdir – Serve para remover um diretório vazio.
  • rm (-rf) – Comando utilizado para apagar arquivos.
  • who – Lista os usuários que estão logados na máquina.
  • df – Mostra informações de sistema de arquivos montados (mesmo CDROM e Disquete).
  • free – Mostra informação de memória (swap inclusive).
  • cat /proc/cpuinfo – Exibe informações completas de seu processador.
  • setterm – Este comando serve para modificar configuração do terminal Linux. Tais como cor de fundo e cor da letra. Exemplo:

    # setterm -background green

    Configura o fundo com a cor verde.

  • tput – Utilizaremos para colocar o cursor na tela. Exemplo:

    $ tput cup 5 10

    Posiciona o cursor na linha 5 e na coluna 10.

  • uptime – Mostra quanto tempo o sistema esta ligado.
  • ps – Comando que lista os processos em execução no sistema.
  • kill – Serve para matar um processo em execução.
  • killall – Permite que se mate diversos processos com o mesmo nome de uma única vez. Exemplo:

    # killall httpd ou killall -9 vi

  • touch – Cria um arquivo de texto vazio. Bom para se testar em alguma coisa. Exemplo:

    $ touch nomedoarquivoacriar nomedearquivocriar2

    Pode-se criar muitos arquivos de uma vez.

  • find – Busca arquivos.
  • top – Método utilizado para visualizar os processos ativos na máquina.
  • vi – Ótimo editor de texto que recomenda-se.
Categorias:Uncategorized

Linux nas empresas…

Cada vez mais o Linux vem seduzindo pessoas e empresas e se tornando familiar para muitos usuários, não é mais uma ferramenta de estudantes de computação ou de fabricantes de computadores de baixo custo.

As grandes corporações começam a utilizar o Linux atraídas pela transparência do software, pela independeria de fornecedores, pela quantidade de recursos que acompanha o sistema operacional e muitos outros fatores.

De acordo com a pesquisa realizada nos EUA pela COMPUTER ECONOMICS, o uso Linux em Data Centers corporativos continua a crescer. Eles estimam que cerca de 36% de todos os Data Centers utilizam Linux (dados de 2005 / 2006). Existem distribuições Linux criadas especificamente para empresas, como Red Hat Enterprise Linux.

As primeiras distribuições Linux costumavam estar limitadas ao gerenciamento de serviços de arquivos, impressão e correio eletrônico juntamente com web. Embora não fossem papéis insignificantes, as empresas temiam colocar o Sistema Operacional de pingüim no núcleo dos negócios. Mas cada vez o Linux vem sendo utilizado como plataforma para diversas funções de missão crítica, como gerenciamento de bando de dados e sistemas como ERP, BI e CRM. Grandes fornecedores como SAP e Oracle dão suporte total a plataforma Linux, que já atingiu uma maturidade que o coloca no mesmo nível de outros sistemas operacionais da família Unix, como AIX e Solaris e também do ambiente Windows. Entre outras, estas situações foram fundamentais para que muitos desenvolvedores de softwares migrassem também suas aplicações para plataformas Linux. Hoje é comum ter um hardware ou software compatível como vários sistemas operacionais, inclusive com Linux.

Desta forma, a maioria das empresas já se acostumou à idéia de que Linux pode ser uma solução inteligente e o os últimos anos uma alternativa econômica e financeiramente viável ao modelo atual de licenciamento de software. Existem implementações mistas onde em muitas corporações os servidores são Linux e as estações Windows, existe uma total compatibilidade entre as duas plataformas de sistema operacional.

Empresas como a Dell e a IBM comercializam Servidores com Linux, sendo que em 1999 a Dell começou a comercializar os primeiros computadores com Linux pré instalados e em 2001 a IBM anunciou que investiria US$ 1 bilhão em Linux.

Categorias:Uncategorized

Instalando o BackTrack em um Pen Drive de 1Gb Usando linux…


Esse tutorial explica como você pode instalar A Distribuição Linux BackTrack 3 beta.

Mas o que é Essa distribuição BackTrack ?

É uma Distribuição Linux voltada a Profissionais de segurança da Informação, ela possue um kit de dezenas de ferramentas Hackers , na qual é possível explorar uma diversidade enorme de falhas de segurança explorando as mais diversas técnicas. É uma das mais usadas e preferidas no mundo.

Para esse tutorial iremos precisar de :

1 Pen Drive de 1GB.

Então vamos mandar brasa .

Primeiro precisamos baixar o BackTrack ,

http://www.remote-exploit.org/backtrack_download.html

Ou com esse comando no console .

wget -c ftp://backtrack.mirrors.skynet.be/pub/backtrack/bt3b141207.rar

Para descompactar o pacote .rar precisamos do pacote unrar instalado.

No ubuntu podemos instalar dessa forma .

sudo apt-get install unrar

Para descompactar o arquivo .

unrar x bt3b141207.rar

julio6@Ubuntu-Desktop:~/tmp$ unrar x bt3b141207.rar

UNRAR 3.70 beta 3 freeware Copyright (c) 1993-2007 Alexander Roshal

Extracting from bt3b141207.rar

Creating bt3b141207/boot OK
Extracting bt3b141207/boot/bootinst.bat OK
Extracting bt3b141207/boot/bootinst.sh OK
Extracting bt3b141207/boot/bootlilo.sh OK
Extracting bt3b141207/boot/chain.c32 OK
Creating bt3b141207/boot/dos OK
Extracting bt3b141207/boot/dos/BT3.bat OK
Extracting bt3b141207/boot/dos/config OK
Extracting bt3b141207/boot/dos/loadlin.exe OK
Extracting bt3b141207/boot/dos/readme.txt OK
Extracting bt3b141207/boot/initrd.gz OK
Creating bt3b141207/boot/isolinux OK
Extracting bt3b141207/boot/isolinux/isolinux.bin OK
Extracting bt3b141207/boot/isolinux/isolinux.boot OK
Extracting bt3b141207/boot/isolinux/isolinux.cfg OK
Creating bt3b141207/boot/modules OK

Coloque seu pendrive e monte ele na pasta /media , geralmente o ubuntu faz isso de forma automática .

No meu caso ele monta a pasta

/media/disk

Então vamos desmontar esse Pen Drive e formata-lo “Use de acordo com seu Sistema Operacional” .

sudo umount /media/disk

Agora precisamos Saber qual o Endereço do disco em nossa máquina , use esse comando como root

sudo fdisk -l

Disco /dev/sdb: 1014 MB, 1014497280 bytes
17 heads, 32 sectors/track, 3642 cylinders
Units = cilindros of 544 * 512 = 278528 bytes
Disk identifier: 0xc3072e18

Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1 * 1 3643 990704 b W95 FAT32

“Antes de Formatar Tenha certeza do que você está fazendo e se a unidade de Hd está certa, caso você erre você pode apagar o Hd errado e perder todos os seus dados Armazenados.”

Agora para Formatar o Pen drive em fat32 que no meu caso usa a unidade /dev/sdb1 .

sudo mkfs.vfat /dev/sdb1

Agora Retire o Pen Drive e coloque de volta para monta-lo novamente.

Então vamos mover dois diretórios que descompactamos para dentro do Pen Drive. no meu caso o Pen Drive está montado na pasta /media/disk
mv BT3 /media/disk

mv boot /media/disk

Feito Isso vamos entrar no diretório boot do Pen Drive , que no meu caso é .

/media/disk/boot

cd /media/disk/boot

Vamos pegar Usuário Root

sudo bash ou su root

Então vamos executar o Script de Instalação do BackTrack .

./bootinst.sh

Ele vai perguntar se a Sua unidade de Disco está correta e pede para apertar enter , feito isso estará instalado o setor de boot no seu disco .

# ./bootinst.sh
Setting up MBR on /dev/sdb…
The Master Boot Record of /dev/sdb has been updated.
Activating partition /dev/sdb1…
pt[1] -> 80
The partition table has been updated.
Updating MBR on /dev/sdb…
Setting up boot record for /dev/sdb1…
Disk /dev/sdb1 should be bootable now. Installation finished.

Read the information above and then press any key to exit…

root@Ubuntu-Desktop:/media/disk/boot#

Agora Está instalado o BackTrack, basta reiniciar o seu Sistema Operacional e dar boot pela Porta UsB, na placa mãe asus segure f8 e selecione o Pen Drive.

Pronto

Categorias:Uncategorized

Hackeando as senhas do Windows e do Linux

Hackeando as senhas do Windows e do Linux

Usuários comuns normalmente instalam o sistema às pressas e não anotam as senhas definidas para a conta de administrador. Isso quando eles instalam, porque muitos chamam os amigos mais experientes para essa tarefa. Administradores ficam de cabelos em pé na hora de configurar determinado recurso porque o responsável que tem a senha faltou no dia, ou pior, está de férias. Técnicos pegam os computadores e depois têm que ligar para os clientes, “cadê a senha do administrador?”. Espertinhos querem obter acesso no PC bloqueado que encontraram na escola ou em casa. Seja qual for a sua situação, mesmo que ela esteja longe de estar listada aqui, quase todo mundo gostaria de saber como “recuperar” ou “redefinir” as senhas de administração dos sistemas operacionais.

Por incrível que possa paracer, a senha de administrador não é algo “tão” poderoso assim no Windows, nem a de root na maioria das distribuições Linux. Serve mais como uma trava básica de proteção, nada além disso. Sem muito sufoco, é possível alterar a senha sem saber a anterior e mais, é possível fazer isso em poucos minutos e com ferramentas básicas. Mostrarei como redefinir as senhas de administrador (e conseqüentemente, todas as outras) de vários sistemas, várias versões do Windows (incluindo o XP e o “robusto” Windows Server 2003) e até mesmo do Linux, quando nenhuma outra medida de segurança impedir.

Antes, destaco que esses métodos são para as senha locais, e não de rede. Claro, se você “aplicar o golpe” no servidor da rede, poderá alterar a configuração e trocar as senhas desejadas ou o método de autenticação nas estações, mas invadir um servidor foge bem aos objetivos desse texto, que visa ser uma luz a administradores, técnicos ou mesmo usuários que precisam redefinir suas senhas por qualquer motivo. Assim como um martelo serve para construir uma casa ou matar alguém, é o conhecimento. Use de acordo com os seus princípios e sob sua inteira responsabilidade.

Um pouco sobre as senhas

A senhas normalmente são gravadas usando alguma codificação, e não como texto puro. Descobrir uma senha fuçando dentro de um arquivo atrás da “senha” diretamente é tempo perdido. Mesmo simples programas raramente gravam as senhas como texto puro. Quando não criptografadada, são gravados hashes, “sombras” das senhas. Por exemplo, ao cadastrar a senha, o sistema embaralha os caracteres e faz um cálculo com base neles, na quantidade de caracteres, na posição das letras e números, etc. E grava apenas o resultado dessa conta. Quando o usuário insere a senha, o sistema validador faz exatamente os mesmos cálculos e operações com a senha entrada, e caso o resultado seja igual ao armazenado, o acesso é liberado; caso contrário, não. A senha da pessoa, então, nunca ficaria gravada. Seria impossível recuperá-la (saber qual era) por meio do cálculo resultante. A possibilidade de ser impossível ou não a recuperação vai do algoritmo usado, normalmente se usam técnicas avançadas e já amplamente testadas. Descobrir senhas é uma tarefa difícil, especialmente quando não há erros conhecidos no algoritmo ou nos sistemas usados.

O método que não falha, digamos, é o da força bruta, onde são testadas todas as possibilidades de senhas.É uma loucura e dispenda grande tempo, pois brincando, a cada caractere que você adiciona numa senha aumenta radicalmente a quantidade de possibilidades. Com a velocidade do hardware atual, fica inviável descobrir senhas testando todas as possibilides para uma senha de 14 caracteres, por exemplo, incluindo letras, números, caracteres especiais e diferenciando maiúsculas de minúsculas. Seriam necessárias várias máquinas (um cluster cheio de máquinas, trabalhando em conjunto) e mesmo assim poderia demorar muito. Como o teste envolveria todas as possibilidades, uma hora ou outra a senha seria descoberta. Se com os PCs atuais já é demorado, manualmente então, nem pensar! Além disso, os sistemas normalmente bloqueiam o acesso por um tempo ao perceber que a senha foi inserida incorretamente muitas vezes. Você deve vasculhar diretamente na “fonte”.

Um software que faz isso no Windows (exceto no 9x/Me) é o shareware Proactive Password Auditor (http://www.elcomsoft.com/ppa.html). Ele é um software legal e de auditoria, desde que usado com a permissão do dono do computador (ou pelo próprio dono). Ele testa todas as possibilidades de senhas e exibe os resultados, e quanto tempo levou para encontrá-las. Isso permite testar a vunlerabilidade das senhas, como senhas curtas, com menos de 6 caracteres (que são descobertas rapidinho), que usam palavras conhecidas, etc. Para tal, ele pega diretamente o arquivo do banco de dados dos hashes das senhas do Windows. Humanamente isso seria impossível. Entenda por “humanamente” você tentar fuçar com um editor de textos ou mesmo hexadecimal; afinal o Proactive Password Auditor foi feito por homens, pessoas também, claro.

Outra forma de conseguir acesso a sistemas protegidos por senhas é a geração de uma nova senha, e não a “descoberta” da anterior. Com algumas “brechas”, digamos, dos sistemas, é possível redefinir facilmente as senhas de vários sistemas operacionais. Vamos ver aqui idéias práticas de como redefinir as senhas em várias versões do Windows e na maioria das distribuições Linux.

No Windows 95/98/Me

A senha desses sistemas é uma piada. Ela não serve para nada, literalmente. As contas de usuário das versões 9x/Me do Windows apenas servem para diferenciar os usuários, separando as configurações da área de trabalho e dos programas, e as pastas de arquivos pessoais. Mas não existe sistema de proteção, como controle de acesso em nível de conta, como há no Windows NT ou no Linux. Qualquer conta pode alterar qualquer arquivo ou conta de outra. A senha fica como um “complemento” para as pessoas fazerem “logon”. Claro, sem a senha certa, uma pessoa não poderá se logar como outra, mas isso não impede, nessas versões do Windows, que ela tenha acesso aos arquivos das outras pessoas.

Os hashes das senhas do Windows 9x/Me ficam em arquivos de extensão “.pwd”, na pasta do Windows (normalmente C:\windows). Eles têm o mesmo nome do usuário. Por exemplo, “Marcos.pwd”. Eis que basta apagar esse arquivo para que a conta fique “sem senha”. No próximo logon, digitando o nome do usuário e uma senha qualquer, a nova senha será aplicada.

Fazer isso com quem desconheça o sistema nesse nível, fará com que a pessoa perca o acesso, pois a senha será “trocada”.

No Windows NT/2000

A segurança do Windows NT 4.0 e 2000 (que vem a ser o NT 5.0) se mostra bastante frágil nesse aspecto. As informações das contas de usuários do sistema ficam no registro, salvas em arquivos criptografados no disco. Você talvez pense que o registro do Windows seja um único e grande arquivo, mas não. O registro das configurações, aquele que pode ser editado pelo “regedit” e por diversas ferramentas de terceios, é formado por vários arquivos espalhados em vários locais do sistema. Claro que não é desordenado, a maioria das configurações ficam em arquivos dentro da pasta do Windows ou de sistema, normalmente a C:\winnt\system32. As configurações dos usuários (notadamente o conteúdo da chave HKEY_CURRENT_USER) ficam na pasta do perfil do usuário, que no Windows NT era C:\winnt\profiles, passando para C:\Documents and settings, no 2000 e XP. Então, voltando na questão das senhas, o arquivo que contém as informações das contas dos usuários é o SAM, e fica na pasta C:\winnt\system32\config. Junto com ele normalmente há um SAM.log, além de uma cópia do SAM na pasta C:\winnt\repair.

A “falha” é que se esse arquivo for apagado, todas as informações das contas dos usuários são perdidas. Ou seja, se existiam os usuários “Maria” e “João”, após apagar esses arquivos, eles não existirão mais. Os arquivos deles continuam, nas pastas dentro da pasta dos perfis dos usuários, apenas a conta será excluída.

A conta de administrador é especial, o sistema não fica sem ela; ou seja, ela não é “excluída” ao se apagar esses arquivos. Mas ficará sem senha. Bastará logar-se como administrador deixando o campo da senha em branco, e depois pode-se definir uma nova, cadastrar novos usuários, literalmente fazer o que quiser no sistema.

Entra aí uma pequena questão: como apagar esses arquivos? O NTFS não permite que usuários restritos apaguem ou modifiquem arquivos das pastas globais do sistema. E mesmo que a partição do sistema esteja formatada em FAT/FAT32, não daria. Esses arquivos do registro ficam bloqueados enquanto o Windows está em execução: não podem ser excluídos nem renomeados. Sabe-se lá se é para proteção sobre as senhas ou não, mas provavelmente não. Eles ficam bloqueados por serem arquivos binários abertos de forma especial pelo sistema, assim como uma DLL carregada em memória que não pode ser apagada, ou um executável ou mesmo arquivo de log qualquer aberto.

Para remover estes arquivos, a única saída é acessar com direito de escrita e leitura a partição do Windows, localizá-los e deletá-los, sem o Windows estar em execução. Isso deve ser feito por um sistema externo. Seja um disquete de boot do bom e velho DOS (caso a partição esteja em FAT, ou do MS-DOS do Windows 98/Me, caso esteja em FAT32), um outro sistema em dual boot (pode ser até mesmo o Windows, inclusive a mesma versão, desde que seja uma outra instalação – em outra pasta), ou um sistema externo rodando do CD. Hoje em dia quase todos os liveCDs de Linux oferecem suporte à escrita em partições NTFS, o que não vem a ser um problema. Basta dar boot com o CD, montar as partições, ativar o suporte a escrita, se necessário (no Kurumin, por exemplo, vem desativado por padrão, por questões de segurança aos seus dados), e mandar ver. Pode até mesmo ser um liveCD do Windows. O Windows que roda do CD não existe oficialmente, mas é possível gerar um liveCD com o BartPE, uma vez escrevi sobre ele para o GdH:

http://www.guiadohardware.net/artigos/windows-roda-cd/

No Windows XP/Server 2003

Baseado no Windows 2000 como foi, poderia valer o mesmo método, visto que os arquivos de configuração são os mesmos. Mas a “falha” foi corrigida, digamos: apagando o SAM, o Windows XP ou o Server 2003 não inicia. Na tela de logon, aparece uma mensagem dizendo que não foi possível acessar o banco de dados de contas, e o sistema é reiniciado – reiniciando novamente ao chegar na tela de logon, entrando num “loop”. Infelizmente, digamos, apesar de ter sido detectado e corrigido no Windows XP, isso não foi corrigido no Windows 2000, pelo menos não até o Service Pack 4.

Mas não desanime, pode ser mais fácil do que você espera. Aproveitando-se de uma outra brecha deixada pelo sistema, é fácil redefinir as senhas das contas locais do Windows XP e até mesmo do Windows Server 2003, que tem boa parte do código baseado no XP.

Eles têm o assistente de acessibilidade, recurso que traz algumas facilidades para uma leve compatibilidade com usuários deficientes, que possuam leves deficiências motoras ou audiovisuais. Além do gerenciador de utilitários, acessível pelo atalho Win + U, há as opções de acessibilidade, que são abertas ao ficar segurando SHIFT direita por 8 segundos. Isso vale também durante a tela de logon, para permitir que usuários com necessidades especiais alterem as opções de acessibilidade também durante o logon, sem precisar de outras pessoas.

A “brecha”, digamos, é que a conta usada no Windows XP/2003 para o programa configurador das opções de acessibilidade, possui direitos administrativos. Rodando outro programa no lugar das opções de acessibilidade, esse programa será rodado como administrador, e poderá fazer tudo o que um administrador poderia. Entre as coisas, pode trocar a senha de administrador, excluir e criar novas contas, enfim, fazer a festa no sistema.

A idéia é trocar o arquivo chamado ao segurar SHIFT por 8 segundos. Poderia ser mais difícil, por exemplo, trocando o “utilman.exe” (o que é aberto ao teclar Win + U) não funciona. Ele deve ser chamado com alguma função ou parâmetro especial, que o programa trocado obviamente não possui. Mas o arquivo chamado ao segurar SHIFT direita por 8 segundos é aberto diretamente, e vem a ser o “sethc.exe”, que fica na pasta C:\windows\system32.

Idéia básica: entrar na pasta system32, excluir o arquivo “sethc.exe”e copiar um outro, dando o nome de “sethc.exe” à cópia. Um bem visado é o prompt de comando, o “cmd.exe”. Assim, ao segurar SHIFT por 8 segundos, em vez das opções de acessibilidade, será aberto o prompt de comando, e com direitos administrativos! Aí bastará rodar “control userpasswords2” para redefinir as senhas de qualquer conta. Uma falha imperdoável no Windows Server 2003, que é voltado a empresas, mas perfeitamente possível. Pelos meus testes, não sei nas versões recentes, pelo menos o Windows XP SP2 e o Windows Server 2003 sem service pack possuem essa falha.

Nota: na tela de logon que lista os usuários, o prompt de comando (ou o arquivo “sethc.exe”, mais precisamente) poderá ficar oculto, por trás dela. Para não se atrapalhar e exibi-lo corretamente, alterne para o logon clássico, teclando duas vezes CTRL + ALT + DEL. (No Windows NT, teclar duas vezes CTRL + ALT + DEL não faz com que o sistema seja reiniciado; se você não acompanhou o Windows 2000/XP e só conhece o 9x/Me, é bom saber disso 🙂

O arquivo pode ser substituído facilmente se o usuário possuir uma conta local, mesmo que restrita, e se o HD estiver formatado em FAT/FAT32. Usando o próprio Explorer pode-se trocar o arquivo, já que ele não fica aberto o tempo todo. Se o HD estiver formatado em NTFS, onde os usuários limitados não têm permissão de escrita nas pastas de sistema do Windows, e/ou se o usuário for um intruso que não possui sequer conta local, basta usar um sistema alternativo, que rode do CD. O mais comum é o Linux, diversas distros, como o Kurumin 🙂 Isso considerando que o sistema possa ler e escrever em NTFS, o que é o caso do Kurumin 7.

Nota: se você trocar o arquivo com o Windows em execução, ele poderá tentar recuperar imediatamente o arquivo a partir do cache dos arquivos do sistema. Um excelente recurso incluído no Windows 2000 ou superior, para evitar que arquivos do sistema sejam indevidamente alterados, o que causava um caos tremendo na época do Windows 98 (tudo bem que nada é perfeito, mas ajuda). Para driblar essa proteção, limpe a pasta dllcache (da pasta C:\windows\system32), não apague ela, mas apague tudo o que estiver dentro dela. Não se preocupe, pois são apenas cópias dos arquivos do Windows. Não deixe também o CD do Windows na unidade, e se houver uma pasta i386 no seu HD com os arquivos de instalação do Windows, renomeia-a temporariamente (pois ele poderá recuperar os arquivos a partir dela; essa pasta contém o conteúdo do CD de instalação, e normalmente existe em sistemas OEM, que vêm com o Windows pré-instalado). Sem fazer isso, o sethc.exe poderá ser restaurado imediatamente quando você exclui-lo. Usando um sistema externo para fazer a substituição, não há esse risco.

Rodando o prompt de comando como administrador, você pode chamar programas, que serão executados com privilégios de administrador. Rode “control userpasswords2” para criar novos usuários ou redefinir a senha de qualquer conta de usuário, incluindo, é claro, do administrador.

Se preferir, use o console de gerenciamento do computador (compmgmt.msc), e clique em “Usuários e grupos locais”. Eu me surpreendi, pois foi possível rodar até o Explorer! Veja alguns screenshots. Para decepção dos usuários que confiam tanto na segurança do Windows, saiba que estas imagens não foram montadas num programa gráfico, foram todas obtidas com o famoso “Print Screen”, salvas originariamente no Paint, também rodando sem fazer logon:

Ao dar o comando “explorer.exe” no prompt, o Explorer foi aberto. Na primeira vez, definiu o papel de parede “Alegria”, que é padrão, e ainda ofereceu o “Tour do Windows”. Observe a tela de logon arrastada para o topo. Nenhuma senha foi necessária.

Criação de uma nova conta de usuário, com o comando control userpasswords2.

Ao dar CTRL+ALT+DEL, abriu-se o Gerenciador deTarefas. Pelo visto, ele ficou instável 😦 Isso ocorreu com alguns outros programas também. No entanto, após criar uma conta e se logar com ela, o acesso ao sistema ficava “normal”.

Clicando com o direito na área de trabalho e em “Propriedades”, pode-se alterar os temas. Veja, deixei o prateado para a tela de logon! Até que esta dica pode ser útil para mera personalização, você altera as opções visuais da tela de logon sem precisar tocar no registro.

Percebi alguns problemas de estabilidade ao rodar programas deste modo, como no gerenciador de tarefas, o copiar/colar arquivos pelo Explorer não funcionava, etc. Depois de uns 5 minutos o Explorer era fechado sozinho, não sei se isso foi programado ou se é devido algum erro não esperado. Afinal não é esperado “fazer logon sem fazer logon”, com a conta de usuário SYSTEM. Mas ele podia ser aberto a qualquer momento, digitando-se “explorer” no prompt de comando novamente.

E como se proteger no XP/Server 2003?

Uma dica para proteção, caso você tenha computadores com Windows XP na empresa (ou em qualquer lugar que seja), e queira se prevenir, é usar o “syskey”. Ele é um programinha não documentado que vem com o Windows, e permite alterar a forma de criptografia das contas de usuários locais. Você pode configurar o Windows para solicitar uma senha especial, independentemente de qualquer conta de usuário, a toda inicialização. Se quiser mais proteção, pode requerer um disquete obrigatório. Sem ele, não se usa o Windows. Para isso basta abrir o SysKey, digitando syskey no “Executar”.

Tela do SysKey. Clique em “Atualizar” para alterar a proteção do sistema das contas de usuários. Não perca a senha nem o disquete, se for o caso, senão, adeus contas de usuários (mas os arquivos permanecem em C:\Documents and settings). Você poderá instalar o Windows do zero em outra pasta, mas perderá acesso a qualquer arquivo criptografado em partições NTFS (se você possuir arquivos protegidos desta forma, é claro).

Pelo menos em teoria, ao ativar a criptografia do banco de dados de contas de usuários dessa forma, o Windows não tem como permitir o logon de ninguém, simplesmente porque não tem as informações das contas, que estariam codificadas com base na senha especial ou no arquivo do disquete. Pelo que testei, o atalho de segurar SHIFT por 8 segundos não funcionou na tela que pede a senha especial (do syskey).

No Linux

Muitos usuários fãs do Linux podem até me criticar por escrever este texto… Mas falei de como fazer isso no Windows, e se dá, porque não também no pingüim?! Segurança zero! Isso é bom para incentivar as empresas e o pessoal de TI (ou até mesmo em casa) a aplicarem medidas físicas de segurança, pois não basta via software.

O Linux tem uma ferramenta que pode ser um perigo nas mãos erradas: chroot. Incluso em praticamente todas as distribuições (pelo menos, em todas as distribuições sérias e que visem uma boa administração), ele permite obter acesso como root em um sistema Linux, desde que o usuário já possua acesso como root em outro sistema Linux. Em outras palavras, ele monta a pasta raíz “/” numa partição onde outro Linux esteja instalado, e dá poder de root ao operador. Isso pode ser utilizado em manutenção, para editar e/ou recuperar arquivos, e inclusive alterar qualquer senha, configurar permissões de arquivos, etc. Como o Carlos E. Morimoto citou no seu livro “Redes e Servidores Linux”, em outras palavras: “Se um usuário der boot com um live-CD no seu servidor, o servidor não será mais seu; será dele”. Pois bem…
Basta dar boot com um liveCD do Linux, como o Kurumin e uma infinidade de outros. A única exigência base é que o sistema reconheça o sistema de arquivos onde o Linux a ser “invadido” esteja instalado; em se tratando de Linux, este sistema não será NTFS e a preocupação com isso (acesso em NTFS) não existe. Dado o boot, você deve obter acesso de root no “seu” sistema, enquanto ele está rodando do CD. Em boa parte das distribuições liveCD, não dá para trocar a senha padrão, e ninguém normalmente sabe qual é ela 😛 Com o Kurumin Linux, dá e é fácil. Ele possui um script “Definir senhas”, localizado na área de trabalho. Basta abri-lo para trocar a senha, tanto do usuário “Kurumin” que é usado no live-CD, como o do root. Há também no menu “Configurações do sistema”, um item para alterar a senha de root. Isso é muito útil para instalar programas rodando do CD, ou alterar algumas configurações que exijam o reinício do X (onde para se logar depois, será preciso digitar a senha). Se você não estiver usando o Kurumin, pode tentar isso: algumas distros deixam outros consoles logados como root, tecle CTRL + ALT + F1 a F6, e veja se em algum aparece o prompt #. Se tiver, estará logado já como root, aí fica bem fácil e nem precisará usar a interface gráfica (podendo também trocar a senha do liveCD digitando passwd).

Tendo acesso como root rodando do CD, você é praticamente dono do computador 🙂

Agora você precisa abrir um terminal, montar a partição que contém o sistema a ser “atacado”, e mandar ver. A montagem da partição deve incluir o tipo do sistema de arquivos utilizado, montá-la manualmente não será algo tão simples para quem não é usuário do Linux. Para facilitar, você pode abrir o “Meu computador” do Linux (estou dando como exemplo, o Kurumin), e montar a partição a partir dali, clicando nela com o direito e escolhendo “Ação > Montar”.

Com a partição montada, abra um terminal (pode ser o Konsole, XTerm ou qualquer outro que você queira). Como o usuário padrão do liveCD provavelmente estará logado, e não o root, você precisa alternar para o root. Use o comando su. Digite su, tecle [enter], e ele pedirá a senha de root. Use a senha que você definiu para o sistema rodando do CD. Ao acessar como root, o símbolo do prompt mudará de $ para #, indicando que os comandos são executados com poder de superusuário (equivale ao “Administrador”, no Windows). No Ubuntu ou em outras onde o root vem desativado, você pode usar o sudo.

Dica: em algumas distros com o sudo ativado, você pode digitar sudo passwd com o login de usuário, para definir a senha de root do sistema rodando do CD. Com ela, você acessa um terminal como root e então usa o chroot, comentado a seguir.

Agora digite o comando chroot, passando como primeiro parâmetro o ponto de montagem da partição do sistema no HD que será atacado. Como falei, a partição já deverá estar montada. Por exemplo, chroot /mnt/hda3.

Se tudo estiver ok, o sistema dentro do prompt não será mais o seu do CD, mas sim o que estiver na partição montada 🙂 Aí é só sair fazendo a festa.

Para alterar a senha de root, digite passwd e tecle [enter]. Ele exibirá um prompt “Enter new UNIX Password:”, então digite a senha desejada e tecle [enter]. Ele pede para confirmar a senha, afinal é uma medida importante para evitar erros de digitação.

Para alterar a senha de um usuário do sistema no HD, digite passwd seguido pelo nome do usuário. Por exemplo, passwd mah.

Veja um prompt onde troquei a senha do usuário kurumin e de root, de uma instalação do Kurumin no HD, usando um liveCD do Kubuntu:

Nesse caso precisei apenas usar o sudo para realizar ações como root, visto que no Ubuntu a conta de root vem desativada.

O chroot é uma ferramenta muito poderosa usada em recuperação e administração, use com responsabilidade. Ele foi projetado para rodar apenas comandos em modo texto. Mas, com certos artifícios, é até possível rodar programas gráficos do outro sistema; mas isso foge aos objetivos desse texto.
Algumas distribuições talvez implementem outros sistemas para segurança das senhas, inviabilizando este método. Mas pode crer, funciona na grande esmagadora maioria.

A responsabilidade é de cada um

Algumas pessoas particularmente me criticam por escrever “dicas” com este teor. Não é bem por aí. Quanto mais esta informação for divulgada, mais gente se cuidará e, de certa forma, pressionará a empresa produtora do Windows a rever algumas coisas nos seus sistemas antes de soltá-los. Vai dizer que o Tio Bill não sabia que durante a tela de logon a conta usada possui privilégios administrativos? Tudo bem, errar é humano. Antes divulgar esta informação de forma clara e técnica e permitir que mais técnicos e profissionais de TI se mexam para proteger os sistemas dos seus clientes, do que não divulgá-la, ocultá-la. Ela não ficará oculta, um passa para o outro, e se nada for feio para tentar proteger os sistemas, muitos espertinhos se aproveitarão desse mole que o Windows dá. Alunos em escolas e bibliotecas, clientes em lan houses, funcionários em empresas, e até mesmo – porque não? – o seu filho, no seu computador.
Além dessa questão, é uma mão na roda para quem precisa recuperar a senha pessoal, ou criar uma nova conta de usuário, se perder acesso por qualquer motivo às configurações do computador. Uma dica que deve fazer parte da mala de ferramentas de qualquer técnico Windows que se preze. Engraçado que um bom técnico Windows deve ter um live-CD do Linux, não é?

Concluindo

Isso mostra que a senha de administrador no Windows e a de root no Linux podem não valer nada. A idéia é de que a conta de administrador/root é segura, potente, de que realmente o sistema está protegido. Mas não é isso que ocorre. O acesso local, quando possível, é uma das formas mais fáceis de invadir um computador alheio. Portanto, pense em soluções físicas de proteção. Gabinetes com cadeado, câmeras de segurança onde tiver computadores importantes, boot via CD/DVD e USB desativado… Só para não falar da segurança paranóica aplicada em data-centers (paranóica, mas essencial!). Enfim, cuide-se.

Categorias:Uncategorized