čtvrtek 27. června 2013

Metasploit db_nmap

Většina adminů někdy použila mnou oblíbený program nmap. Tento nástroj slouží ke scanování sítě a dokáže zjistit, jaké služby na kterém počítači běží. Pokud chceme výsledky scanu uložit a např. porovnávat v čase, je třeba použít db_nmap, což je program, který je součástí Frameworku Metasploit.

Metasploit je produktem firmy Rapid7, která tento nástroj tvoří a prodává. Je to program pro penetrační testy. Metasploit má několik verzí nebo spíše edicí. Placená verze umožňuje pravidelně aktualizovat databáze chyb případně i exploitů a funkcionalita je hodně rozsáhlá.

Pro naše potřeby programu db_nmap nám postačí  "Metasploit Framework - Free Open Source Development Platform", která je např. snadno instalovatelná ve FreeBSD jako port. Celý framework je postaven na jazyce Ruby.

Před samotnou instalací doporučuji instalovat Vámi preferovanou verzi databáze PostgreSQL.

cd /usr/ports/databases/postgresql92-server/ && make install clean

cd /usr/ports/security/metasploit && make install clean

Po instalaci je možné již pustit samotnou konzoli.

[root@fbsd ~]# msfconsole
Call trans opt: received. 2-19-98 13:24:18 REC:Loc

     Trace program: running

           wake up, Neo...
        the matrix has you
      follow the white rabbit.

          knock, knock, Neo.

                        (`.         ,-,
                        ` `.    ,;' /
                         `.  ,'/ .'
                          `. X /.'
                .-;--''--.._` ` (
              .'            /   `
             ,           ` '   Q '
             ,         ,   `._    \
          ,.|         '     `-.;_'
          :  . `  ;    `  ` --,.._;
           ' `    ,   )   .'
              `._ ,  '   /_
                 ; ,''-,;' ``-
                  ``-..__``--`

                             http://metasploit.pro


       =[ metasploit v4.6.2-1 [core:4.6 api:1.0]
+ -- --=[ 1103 exploits - 621 auxiliary - 178 post
+ -- --=[ 300 payloads - 29 encoders - 8 nops

[*] Processing /root/.msf4/msfconsole.rc for ERB directives.
resource (/root/.msf4/msfconsole.rc)> db_connect -y /usr/local/share/metasploit/config/database.yml
[*] Rebuilding the module cache in the background...
resource (/root/.msf4/msfconsole.rc)> workspace -a SmEjDiL

[*] Added workspace: SmEjDiL
msf >

Z ukázky je vidět, že konzoje již využívá databázi pro ukládání výsledků scanů. Velmi podrobný a snadno pochopiletný postup, jak inicializovat databázi je popsán zde. Snad jen poznámka dríve byla podpora více databázi MySQL, SQLite a ta byla ukončena a podporována je pouze PostgreSQL. Metasploit je též součástí Linuxové distribuce Backtrack linux, kde je možná i nějaká modifikovaná verze.

Můžeme začít scanovat do DB

msf > db_status
[*] postgresql connected to msf_database
msf > db_nmap 192.168.42.0/24


Příkazem hosts si vypíšeme jednotlive výsledky, např. takto.

msf > hosts -R 81.95.98.2 -c address,name,os_name,os_flavor,updated_at,

Hosts
=====

address     name                os_name  os_flavor  updated_at
-------     ----                -------  ---------  ----------
81.95.98.2  gds39d.active24.cz  Linux    2.6.X      2013-06-26 19:24:57 UTC

RHOSTS => 81.95.98.2


Příkazem services si vypíšeme objevené služby na daném hostu.

msf > services -R 81.95.98.2

Services
========

host        port  proto  name   state  info
----        ----  -----  ----   -----  ----
81.95.98.2  25    tcp    smtp   open   Postfix smtpd
81.95.98.2  80    tcp    http   open  
81.95.98.2  443   tcp    https  open  

RHOSTS => 81.95.98.2


Pokud nechceme používat jen nmap Metasploit disponuje např. celou řadou scaneru. Zajímá mě jaké verze Windows se v mé síti nacházejí. Pěkný návod jak nato je např. zde.

msf > use auxiliary/scanner/smb/smb_version
msf auxiliary(smb_version) > set RHOSTS 192.168.42.40-50
RHOSTS => 192.168.42.40-100
msf auxiliary(smb_version) > set THREADS 11
THREADS => 11
msf auxiliary(smb_version) > run


Výsledkem je např. toto.

msf> hosts -c address,os_name,os_flavor,os_sp,purpose

Hosts
=====

address        os_name            os_flavor            os_sp  purpose
-------        -------            ---------            -----  -------

192.168.42.40  Microsoft Windows  7 Professional 7601  b1     client
192.168.42.42  Microsoft Windows  XP                   SP3    client


V minulosti jsem si koupil tuto knihu, která je pro msf3, ale i tak se z ní dá hodně čerpat.

Bezpečnosti zdar :-)

pátek 14. června 2013

VDSL modem Comtrend VR-3026e s pfSense/Alix

 Tak jsem se po nějaké době dostal opět k DSL technologii přesněji VDSL. Jeden Negr z DKnL ma hospodu v Hradci Králové a doposud byl připojenej pomocí modemu  Comtrend VR-3026e. Ovšem požadoval další funkcionalitu, kterou již modem nedokázal zastoupit.

Modem je to poměrně konfigurovatelnej ale hodně neintuitivni. A přijít na to jak jej přepnout do režimu bridge byl poměrně velkejk oříšek. Nápomocný byl např. tento návod.

Je třeba dopředu vědět, do jakého režimu je u O2 linka přepnutá. ADSL režim (ATM mode) a VDSL2 režim (PTM mode). Zde je též pár hodnotných informací.


Nastavení bridge pro ATM - ADSL2+
Nastavení bridge pro PTM - VDSL2

Po přepnutí modemu do bridge je již možno přistoupit ke konfiguraci routeru pfSense na desce Alix, kde se už jen nadefinuje PPPoE WAN interface, který se autentizuje pomoci usera O2 a sofistikovaného hesla O2 :-)

čtvrtek 13. června 2013

Monitoring HAProxy pomocí Zabbix Agent

 V práci jsem narazil na server, kde byla zprovozněna HAProxy pro přepínání provozu na dva IBM IHS servery (Apache).

Stav HAProxy se dá velmi podrobně sledovat pomoci socket. Pěknou inspirací byl tento návod.

V konfiguraci haproxy.conf je nutno zapnout zápis do socketů.

global
# Create a socket that allows us to query it directly
stats socket    /tmp/haproxy.sock


Pro čtení ze socketu je třeba aplikace socat, která  např. v RHEL 5.8 není a tak je někdy potřeba si ji zkompilovat ručne.

Já volil konkrétně tuto verzi, novější mi nešla zkompilovat.

cd /usr/local/src
wget http://www.dest-unreach.org/socat/download/socat-1.7.2.1.tar.gz
tar xzf socat-1.7.2.1.tar.gz
cd socat-1.7.2.1
./configure --disable-fips
make
make install


Pak už můžeme vyčítat požadované hodnoty. Zmíněný návod je velmi podrobný.

[root@server ~]# echo "show info" | socat /tmp/haproxy.sock stdio
Name: HAProxy
Version: 1.4.21
Release_date: 2012/05/21
Nbproc: 1
Process_num: 1
Pid: 29810
Uptime: 0d 0h01m46s
Uptime_sec: 106
Memmax_MB: 0
Ulimit-n: 8219
Maxsock: 8219
Maxconn: 4096
Maxpipes: 0
CurrConns: 17
PipesUsed: 0
PipesFree: 0
Tasks: 25
Run_queue: 1
node: server.domena.cz
description:


Konfigurací Zabbix agenta, kde nadefinujeme uživatelské parametry a pomocí grep a awk atd. vyďobeme jednotlivé potřebné hodnoty.

Toto je např. HAProxy "total" connections/sessions

UserParameter=hap.scur, echo "show stat" | /usr/bin/sudo /usr/local/bin/socat /tmp/haproxy.sock stdio | grep -i 'server,FRONTEND' |
sed 's/,/\ /g' | awk '{print $3}'


Pro povolení práce se socketem je nutno delegovat opravnění uživateli zabbix.

visudo
...
Defaults:%zabbix !requiretty
Defaults:zabbix !requiretty

## Allows 'zabbix' user to run all commands without password.
zabbix ALL=NOPASSWD: ALL

čtvrtek 6. června 2013

Adding Custom Attributes in Active Directory

Dostal jsem zadání nastavit skupině v LDAP nějaký požadovaný atribut na textovou hodnotu.

V LDAP (AD Win2003 server) požadovaný atribut samosebou není.

Google mi našel tento návod, jak na to :-)

Nejvíce mě rozesmála první část. Do registrů přidat Schema Update Allowed, aby se objevil Snap-in Active Directory Schema v MMC.

Tomu říkám kvalitní SW :-(