Netcat proxy

Írta: Kerekes Attila

27
May/09
0

Sok helyen olvastam, hogy ez lehetséges, de valahogy igazi élő példát nem találtam rá. Viszont amit találtam:

mkfifo backstream
nc -l -p 31337 0<backstream | nc google.hu 80 1>backstream

Ezek után ha csatlakozunk a gépünk 31337-es portjára egy böngészővel, jó eséllyel a google.hu fog bejönni. Oké, ez frankó, de mire megyünk vele? Ebben a formában tényleg nem sokra. De tegyük fel, hogy valahol egy tűzfal mögött ücsörgünk, és szeretnénk ircezni, de csak a 80as port van engedélyezve kifele (suli, meló, stb).

mkfifo backstream
nc -l -p 31337 0<backstream | nc irc.atw.hu 6667 1>backstream

Most ha kívülről csatlakoznánk az otthoni gépünk 80as portjára egy irc klienssel mondjuk, akkor az továbbküldene minket az atw.irc.hu 6667es portjára. Persze erre sok más és talán egyszerűbb megoldás is létezik. Mégis miért lenne érdemes ezt így megvalósítani? Itt lényegében akármilyen egyéb shellscriptet közbe szúrhatunk, pl:

mkfifo backstream
nc -l -p 31337 0<backstream | sed -u s/rick/duck/g | nc irc.atw.hu 6667 1>backstream

Ezt használva ezentúl ircen akárhányszor azt írjuk be a kliensünkbe, hogy rick, a többiek duck-ot fognak látni. Magyarul megváltoztattuk az áthaladó adatfolyamot. És ezt kombinálva pár egyéb technikával igen komoly eredményeket érhetünk el…

#eof

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

Helló világ!

Írta: Kerekes Attila

16
May/09
0

Itt fogom megpróbálni megörökíteni azokat a téma köröket, amikkel hálózati kalandozásaim során összefutok, és eddig nagyjából csak angol leírás létezik róluk. Ha lesz elég időm, talán ilyesmikről olvashattok:

Operációs rendszerek:

  • DD-WRT
  • Debian Linux
  • FreeBSD

Hálózatok biztonságának tesztelése:

  • különböző mitm támadások (dsniff, ettercap)
  • ssl kapcsolatok megkerülése (sslstrip, tanúsítvány hamisítás)
  • metasploit
  • w3af
  • backtrack, samurai

és még ki tudja mi mindenre lesz időm…

#eof