FreeBSD + Metasploit

Írta: Kerekes Attila

25
May/09
0

Bár én debian linux párti vagyok, utóbbi időben FreeBSD-vel foglalkozom. Nézzük egyik kedvenc játékszerünket, a Metasploitot hogyan tudjuk felrakni a mi kis nyers FreeBSD-nkre. Én általában mindent ports forrásokból installálok, szóval így fogom leírni ezt is. Mire lesz szükségünk:

  • Ruby – Ebben írták az MSF3-at
  • Postgresql szerver – msf3 autopown részéhez nemárt egy jó adatbázis.
  • Subversion – hogy frissen tudjuk tartani az állományainkat :)

A postgresql nem kötelező, de nem is árt ha van, hisz az autopwn funkciót adatbázisok segítségével használhatjuk ki. Egy másik bejegyzésben foglalkoztam a telepítésével.
Nézzük mi kell a rubyhoz. A rubynak jelenleg egy bugos verziója van a ports forrásban: ruby 1.8.7 p72 , így nem ússzuk meg annyira simán a dolgot. (Ha már újabb verzió került a portsba, akkor a következő pár lépés kihagyható.) Elsőre lépjünk be a ruby mappájába, és bontsuk ki a forrását:

[root@rogue ~]# cd /usr/ports/lang/ruby18/
[root@rogue /usr/ports/lang/ruby18]# make extract

A javítás amire szükségünk van itt érhető el:
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=18485
Lépjünk át a /usr/ports/lang/ruby18/work/ruby-1.8.7-p72 könyvtárba és a 3 fájlt (class.c, eval.c, node.h) cseréljük le a javítottakra a linken. Ezután már folytathatjuk az installálást:

[root@rogue ~]# cd /usr/ports/lang/ruby18/
[root@rogue /usr/ports/lang/ruby18]# make install clean
...

Ha ez megvan, szükségünk lehet még pár gemre rubyhoz: activerecord és postgres

[root@rogue ~]# cd /usr/ports/devel/ruby-gems/
[root@rogue /usr/ports/devel/ruby-gems]# make install clean
...
[root@rogue /usr/ports/devel/ruby-gems]# gem install activerecord postgres
...

A fejlesztői változat beszerzéséhez és frissen tartásához subverion klienst fogunk használni. A telepítése:

[root@rogue ~]# cd /usr/ports/devel/subversion
[root@rogue /usr/ports/devel/subversion]# make install clean
...

A mindenféle felbukkanó kérdőíveknél nyugodtan hagyjuk meg az alapbeállításokat. Ha a postgresqlt is telepítettük, most létrehozhatunk egy adatbázist és egy felhasználót a metasploitnak. Ezen a linken olvashattok erről bővebben.

A program beszerzéséhez az alábbi parancsot használjuk:

[root@rogue ~]# svn checkout http://metasploit.com/svn/framework3/trunk/ msf3
...

Ha frissíteni szeretnénk a fejlesztői változatot, ezentúl elég ha belépünk az msf3 könyvtárba és az svn update parancsot használjuk.
Magát a programot az msf könyvtárból a ./msfconsole paranccsal indíthatjuk el. Továbbiakban majd írok arról is, hogyan használhatjuk az adatbázisunkat és az autopown funkciót a Metasploit Frameworkben.

Ajánlott irodalom:
http://blog.metasploit.com/2006/09/metasploit-30-automated-exploitation.html
https://bugs.launchpad.net/ubuntu/+source/ruby1.8/+bug/282302

#eof

FreeBSD + Postgresql

Írta: Kerekes Attila

24
May/09
0

Néha szükségünk lehet egy jó adatbázis szerverre az alkalmazásainkhoz. Hát itt egy rövid leírás, FreeBSDn hogyan tudjuk ezt összehozni. Mint ahogy azt a cím is mondja, postgresql-t fogunk használni:

[root@rogue ~]# cd /usr/ports/databases/postgresql84-server/
[root@rogue /usr/ports/databases/postgresql84-server]# make install clean
...

Ha végzett a folyamat, indítsuk el, és állítsuk be a szerverünket:

[root@rogue ~]# echo "postgresql_enable=\"YES\"" >> /etc/rc.conf
[root@rogue ~]# /usr/local/etc/rc.d/postgresql initdb
...
[root@rogue ~]# /usr/local/etc/rc.d/postgresql start

Ezután mondjuk állítsunk be egy jelszót a pgsql usernek:

[root@rogue ~]# su pgsql
[pgsql@rogue /root]$ psql templat1
...
template1=#ALTER ROLE pgsql PASSWORD 'jelszoide';
ALTER ROLE
template1=# \q

[pgsql@rogue /root]$

Mostmár az azonosítást átállíthatjuk jelszavasra. A /usr/local/pgsql/data/pg_hba.conf-ot kell szerkesztenünk, hogy valami hasonló sorok legyenek a végén:

# "local" is for Unix domain socket connections only
local   all         all                               md5
# IPv4 local connections:
host    all         all         127.0.0.1/32          md5
# IPv6 local connections:
host    all         all         ::1/128               md5
host    all         all         0.0.0.0/0             md5

Majd indítsuk újra az adatbázis szervert:

[root@rogue ~]# /usr/local/etc/rc.d/postgresql restart
...

Mostmár létrehozhatunk magunknak egy adatbázist és hozzá egy felhasználót:

[root@rogue ~]# su pgsql
[pgsql@rogue /root]$ createdb proba
Password:
[pgsql@rogue /root]$ createuser probauser -P
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) n
Shall the new role be allowed to create more new roles? (y/n) n
Password:
[pgsql@rogue /root]$ psql template1
Password:
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
...
template1=# GRANT ALL PRIVILEGES ON DATABASE proba to probauser;
GRANT
template1=# \q

Próbáljuk is ki az új felhasználónkat az adatbázisunkon:

[pgsql@rogue /root]$ psql -d proba -U probauser
Password for user probauser:
Welcome to psql 8.3.7, the PostgreSQL interactive terminal.
...

Remélem minden simán ment, és sikerült eljutni a végére :)
Ajánlott irodalom:
http://www.postgresql.org/docs/8.3/static/index.html

#eof

FreeBSD + OpenVPN kliens

Írta: Kerekes Attila

21
May/09
0

Pont ma futottam bele ebbe a problémába, hát nézzük, hogyan lehet összehozni egy openvpn kapcsolatot freebsd alatt.
Elsőre tegyük fel az openvpn-t:

[root@rogue ~]# cd /usr/ports/security/openvpn
[root@rogue /usr/ports/security/openvpn]# make install clean

Ez eltart egy kis ideig, de végeredményben szinte kész is vagyunk. Egyetlen probléma, hogy az openvpn indításkor nem rántja be automatikusan a tap device drivert, és csatlakozáskor csak egy hibaüzenetet kapunk. A megoldás egyszerű, kézzel kell betölteni a drivert:

[root@rogue ~]# kldload if_tap

Mostmár hiba nélkül tudunk csatlakozni a kliensünkkel például az egyetemi hálózatunkra, ha megvannak a szükséges fájljaink:

[root@rogue ~/nymevpn]# openvpn nyme.ovpn
Thu May 21 22:44:23 2009 OpenVPN 2.0.6 i386-portbld-freebsd7.2 [SSL] [LZO] built on May 21 2009
...
[root@rogue ~]# ifconfig tap0
tap0: flags=8843 metric 0 mtu 1500
ether 00:bd:cb:ca:24:00
inet 10.8.0.2 netmask 0xffffff00 broadcast 10.8.0.255

És kész is vagyunk.
Esetleg egy pár tipp: netstattal megnézhetjük, hogy vajon a default gatewayünknek is a vpn-es router került be. Ha igen ezt visszaállíthatjuk az eredetire (adott esetben 10.0.0.1):

[root@rogue ~]# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.8.0.1 UGS 0 0 tap0
172.16.4.0/24 10.8.0.1 UGS 0 0 tap0
...
[root@rogue ~]# route del default 10.8.0.1
del net default: gateway 10.8.0.1
[root@rogue ~]# route add default 10.0.0.1
add net default: gateway 10.0.0.1
[root@rogue ~]# netstat -rn
Routing tables
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 10.0.0.1 UGS 0 0 em0
172.16.4.0/24 10.8.0.1 UGS 0 0 tap0

#eof