Ir para o conteúdo
ou

Software livre Brasil

Tela cheia
 Feed RSS

Blog

27 de Maio de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

hntool – uma ferramenta de segurança para Unixes

26 de Setembro de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Resolvi criar uma ferramenta para me ajudar a fazer hardening de servidores linux e facilitar a minha vida no trabalho. Assim nasceu o hntool (hardening tool), uma ferramenta escrita em python cujo objetivo é fazer uma análise simples do servidor e dizer quais as falhas de segurança que existem.

Todas as falhas são niveladas de acordo com risco que podem causar ao servidor. Falhas leves (low), médias (medium) e graves (high). Além destas categorias há mais duas: ok e info.

A ferramenta ainda está em um estágio bem inicial, mas resolvi compartilhá-la logo para ajudar aqueles que querem contribuir com algo e, claro, acelerar o desenvolvimento.

Algumas características:

  • Criei uma estrutura bem modular, baseando-me em outro projeto que mantenho: o namcap. Acredito que com essa estrutura fica muito mais fácil manter e contribuir com o projeto.
  • Não quero que o hntool realize nenhum hardening automaticamente. Quero apenas que ele me avise das falhas que existem. A decisão sobre o que (e como) fazer para consertar a falha cabe ao administrador do sistema.
  • A intenção é fazer com que o hntool sirva para qualquer distribuição, mas no momento eu só tenho testado no Arch Linux.

Usando o hntool

Para testar o hntool é fácil. Baixe-o daqui e descompacte-o. Depois é só entrar no diretório descompactado e rodar:

# python hntool.py

Sim, você só precisa do python.

Segue um exemplo do resultado do hntool (clique para ampliar):

hntool

Acho que deu para entender onde quero chegar, né?

Como contribuir

Você pode contribuir com o hntool de diversas formas: enviando código, patchs, reportando bugs e pedindo recursos. Tudo isso pode ser feito através do bug tracker do github ou enviando um email para contato arroba hugodoria.org. Todo o código do projeto está disponível no github.

A ferramenta tabém está precisando de um ícone simples e bonito. Sou um zero à esquerda quando se trata de desenho e totalmente incapaz de fazer algo decente. Fica aí a dica. :P

Estrutura modular

Como falei, resolvi criar o hntool de forma modular. A estrutura de um modulo é, mais ou menos, assim:

import os
 
class rule:
	def short_name(self):
		return "ssh"
	def long_name(self):
		return "Checks security problems on sshd config file"
	def analyze(self):
		check_results = [[],[],[],[],[]]
		ssh_conf_file = ['/etc/ssh/sshd_config', '/etc/sshd_config']
 
		for sshd_conf in ssh_conf_file:
			if os.path.isfile(sshd_conf):
				fp = open(sshd_conf,'r')
				lines = [x.strip('\n') for x in fp.readlines()]
 
				# Checking if SSH is using the default port
				if 'Port 22' in lines or '#Port 22' in lines:
					check_results[1].append('SSH is using the default port')
				else:
					check_results[0].append('SSH is not using the default port')				
 
				# Closing the sshd_config file
				fp.close()
 
		return check_results
	def type(self):
		return "config"

Explicando melhor:

  • short_name(self): Uma string contendo o nome curto do modulo. Ele será usado, por exemplo, na hora de listar todos os módulos existentes (hntool -l).
  • long_name(self) : Aqui é a descrição do módulo. Também será mostrada na listagem dos módulos.
  • analyze(self): É aqui que fica o código de verdade. O resultado desse método deve ser sempre uma lista com 5 elementos, que correspondem aos níveis de segurança encontrados - ok, info, low, medium e high, respectivamente.
  • type(self): Cada módulo será de um tipo. "files" para módulos que lidam com arquivos de texto simples(/etc/passwd, por exemplo) ou de configuração. "services" para módulos que lidam com serviços.

Há, também, um arquivo README explicando mais detalhes sobre o hntool. Obviamente, ele será melhorado com o tempo.

Bem, pessoal. É isso. Estarei sempre postando novidades desse projeto à partir de agora. :)



Scanner de vulnerabilidades do Joomla

24 de Setembro de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Recentemente precisei "consertar" um portal hackeado, que usava o Joomla como CMS. Isso me levou a pesquisar mais sobre a segurança do mesmo e perceber que ele não é nada bom neste quesito.

Durante minha pesquisa encontrei o OWASP Joomla Vulnerability Scanner, um script capaz de:

  • Detectar a versão do Joomla, PHP e do SO
  • Procurar falhas de segurança no Joomla e em seus componentes
  • Gerar relatórios em texto e html
  • Atualizar sua base de vulnerabilidades

Requisitos

Para usar este scanner você só precisa de: perl, perl-libwww, perl-www-mechanize. Todos estão disponíveis nos repositórios das principais distribuições. Para instalá-lo no Arch faça:

# pacman -S perl perl-libwww perl-www-mechanize

Ah! E precisa, obviamente, do próprio scanner. É só baixá-lo daqui e descompactá-lo.

Usando o OWASP Joomla Vulnerability Scanner

O uso básido do scanner é:

$ ./joomscan.pl  -u http://url-do-joomla

O joomscan te mostrará informações como:

Target: http://url-do-joomla

Server: Apache/2.2 (Debian) PHP/5.2.6-1+lenny3
X-Powered-By: PHP/5.2.6-1+lenny3

## Fingerprinting in progress ...

~1.0.x htaccess.txt revealed [1.0.13 - 1.0.15]
~1.0.x joomla.javascript.js revealed [1.0.13 - 1.0.15]
~1.0.x moscode.xml revealed [1.0.0 - 1.0.13]

* Deduced version range is : [1.0.13 - 1.0.13]

## 9 Components Found in front page  ##

com_frontpage     com_content
com_rsgallery2     com_docman     com_contact
com_search     com_banners     com_poll
com_rss

Vulnerabilities Discovered
==========================

# 1
Info -> Generic: htaccess.txt has not been renamed.
Versions Affected: Any
Check: /htaccess.txt
Exploit: Generic defenses implemented in .htaccess are not available, so exploiting is more likely to succeed.
Vulnerable? Yes

# 2
Info -> Core: Authentication Bypass Vulnerability
Versions effected: Joomla! 1.5.3 <=
Check: /administrator/
Exploit: Backend accepts any password for custom Super Administrator when LDAP enabled
Vulnerable? Yes

# 3
Info -> CoreComponent: com_banners Blind SQL Injection Vulnerability
Versions effected: N/A
Check: /components/com_banners/
Exploit: /index.php?option=com_banners&task=archivesection&id=0'+and+'1'='1::/index.php?option=com_banners&task=archivesection&id=0'+and+'1'='2
Vulnerable? Yes

E por aí vai. Útil, não?

Para ver as outras opções do joomscan rode-o assim:

$ ./joomscan

Ou visite a página do projeto.



Software Freedom Day 2009, em Aracaju

11 de Setembro de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

O Software Freedom Day é um evento que tem como principal objetivo promover o uso de software livre, apresentando sua filosofia, seu alcance, avanços e desenvolvimento ao público em geral. Ele acontece simultaneamente em diversas cidades do mundo e, neste ano, Aracaju terá sua edição.

A grade de programação preliminar já está disponível e as inscrições podem ser feitas, gratuitamente, através deste endereço.

Neste ano o pessoal do PSL-BA virá em peso para o evento, com 3 palestrantes (Alexandro Silva, Cristiano Furtado  e Rafael Gomes) e diversos participantes. Tenho certeza que faremos um ótimo evento. Conto com todos lá. :-)

Para maiores informações visite:

http://softwarefreedomday.org/teams/centralandsouthamerica/brasil/sergipe



Playstation 3

7 de Agosto de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

Já fazia algum tempo que estava desejando um video-game da nova geração. Eu estava em dúvida entre o Xbox 360 e o PS3 durante algum tempo. O Wii eu descartei logo de cara, pois já tinha ficado um tempo com um e o achei uma tremenda perda de tempo (95% do tempo ele ficava parado e encostado).

PS3

Depois de muito pesquisar e testar os video-games dos amigos, optei pelo Playstation 3. Estou adorando a plataforma e hoje tenho certeza que fiz a melhor escolha, baseado no que EU precisava, dentre os video-games da última geração.

Os fatores que me levaram a escolher o PS3, ao invés do Xbox, foram:

  • Eu queria mais que um video-game. Queria uma central de multimidia. Algo para controlar vídeo, audio, fotos, jogos e tudo mais. Apesar de você "conseguir" fazer isso com o X, o PS3 é bem superior neste quesito;
  • Hardware melhor: PS3 tem wireless, bluetooth e blueray. Três grandes estrelas que fazem muita diferença e que não existem nativamente no X. Além disso tem muito menos problemas que o Xbox;
  • Integração com o PSP. Usar remote play com o PSP no PS3 é muito bacana;
  • Preço mais camarada. Eu comprei o PS3 com 3 anos de garantia por bem menos que gastaria para comprar um X com a mesma garantia.
  • Franquias: O PS3 tem algumas franquias exclusivas e que sou super fã: Gran Turismo, God Of War, Final Fantasy (que já não é mais exclusivo), Killzone, Resistance e, claro, a melhor de todas: Metal Gear Solid (o 4 é o melhor jogo da história). O X também tem algumas boas franquias, mas a única que realmente sou fã é Gears Of Wars (que jogo!!). Obviamente, esta questão de franquia varia muito de acordo com o gosto.

Por outro lado, há algumas coisas super bacanas no X e que não existem no PS3:

  • Live: Não há o que discutir aqui. A live é bem superior ao combo PSN/Home do PS3 e acredito que seja o grande motivo de se ter um Xbox 360. A PSN/Home até oferece o básico - como partidas online, chat e compras, mas não vai muito além disso.
  • Comunidade unida: eu achei a comunidade do Xbox mais unida que a do PS3. Há um grande portal e vários grupos sempre realizando partidas online. Mas talvez ainda seja cedo para eu afirmar isso, pois estou fazendo minhas amizades pelo PS3 agora.

Bem, é isso. Não quero convencer ninguém a comprar um PS3 e nem afirmar que ele é melhor que o 360. Na verdade, os dois são excelentes e, por isso, é muito importante analisar corretamente antes de decidir qual plataforma comprar. Tudo vai depender do que você espera de um video-game.

Ah! E se você tiver PS3 não esqueça de me adicionar na PSN. Meu login é hdoria.



New namcap version

16 de Julho de 2009, 0:00, por Software Livre Brasil - 0sem comentários ainda

I just released a new namcap version (2.3). These are the changes: namcap (2.3)

- New tags:

elffile-not-in-allowed-dirs (FS#15299) gnome-mime-file (checks for GNOME mime files) mime-cache-not-updated (checks for update-mime-database calls) hicolor-icon-cache-not-updated (FS#15028) insecure-rpath (FS#14049) non-fhs-info-page (FHS compliance of installed info pages) pkgname-in-description (pkgname should not be in description) potential-non-fhs-info-page

- Removed tags:

missing-cvs-id maintainer-tags-for-tus-devs cvs-id-for-tus-devs

Added rule to look for .a files with wrong permissions Report dangling symlinks as an error [...]



Tags deste artigo: archlinux segurança música opensource desenvolvimento python symbian