Personal tools
You are here: Home Members Matthew X. Economou Consensus Hallucination

Consensus Hallucination

The life and times of a leet hacker: Narcissism in a web-enabled electronic format, or "How to stay up to date on happenings in my world (without actually having to talk to me)". Stalkers wishing for daily updates might direct their attention to the blog's RSS feed.

2008-02-27

Some Vital Statistics

Filed Under: Family and Friends
And whoever it was that said miracles stopped with the Apostles needs to get their Sense of Awe and Wonder checked out by a reputable neurosurgeon.

171 beats per minute (allegro).

2.5 centimeters long (bellissimo).

2008-01-23

Playing with IPv6

Filed Under: Hacking

Jumped onto what used to be the 6bone the other day.  I even set up the IPv6 route prefixes on my FreeBSD router, but it looks like route advertisements and router solicitations aren't working properly (probably because of my firewall).  My understanding is that IPv6 also relies a lot on multicast, so I'm going to see if I can get the right multicast routes set up such that at least DNS and NTP work on the clients without having to set anything up in DHCP/DHCPv6.

Fortunately, pf already supports IPv6 side-by-side with IPv4, so I won't have to tear up my new firewall policy just for experimentation's sake.

UPDATE: rtadvd wasn't running on the correct set of network interfaces, hence router solicitation wasn't working.  After restarting rtadvd and running "netsh interface ipv6 renew" (view the address assignments with "netsh interface ipv6 show address"), I can finally see the dancing KAME!

2008-01-20

My Tor Exit Has Been Noticed

Filed Under: Hacking
What happens as soon as I get the exit node working?

TCP and UDP port scans from multiple subnets.  Nice.  I need to get the IDS running so that I can start blackholing this kind of crap.

2008-01-16

OpenVPN and Quagga

Filed Under: Hacking
Route management in OpenVPN is a pain for anything larger than two or three peers routing traffic among five or more subnets. With a little work, one can replace OpenVPN's routing tools with an interior gateway protocol like OSPF or RIPv2, using the Quagga software routing suite.

Required background information:

In OSPF terms, the OpenVPN tunnels form the backbone network (area 0.0.0.0). In order to get OSPF working over the OpenVPN tunnels, one should use the tap(4) interface driver, which supports the multicast and broadcast traffic types employed by OSPF. (Unicast communications are possible but require hard coding border router addresses, defeating the purpose of an automatically configured routing hierarchy.) One must also ensure that each participating router does not filter the OSPF traffic in or out of the appropriate interfaces. The last required configuration change involves removing all route, push "route ...", and iroute commands from the OpenVPN configuration files, as they will not be necessary once OSPF is operational.

The installation and configuration of Quagga is a lot simpler than it might seem at first. On FreeBSD, install Quagga from ports using a command like:

portinstall --batch quagga

Then enable and start the service with commands similar to the following:

echo 'quagga_enable=YES' >> /etc/rc.conf
echo 'quagga_daemons="zebra ospfd"' >> /etc/rc.conf
touch /usr/local/etc/quagga/{zebra,ospfd}.conf
/usr/local/etc/rc.d/quagga start

Rather than creating a new configuration out of nothing, it's easier to create empty configuration files and then use vtysh to set up the zebra and ospfd services. The initial configuration can be very simple. Assuming that each site's internal networks are allocated out of 10.0.0.0/8 and that the OpenVPN backbone network lives somewhere in 172.16.0.0/12, each router can be configured with commands reminiscent of Cisco IOS:

# vtysh
hostname# configure terminal
hostname(config)# log syslog
hostname(config)# router ospf
hostname(config-router)# log-adjacency-changes
hostname(config-router)# network 172.16.0.0/12 area 0.0.0.0
hostname(config-router)# network 10.0.0.0/8 area WWW.XXX.YYY.ZZZ
hostname(config-router)# end
hostname# copy running-config startup-config
hostname# quit

Replace "WWW.XXX.YYY.ZZZ" with a unique area identifier for each site (e.g., "0.0.0.1" for the first site, "0.0.0.2" for the second, and so on).

I also happen to be running OpenVPN and Quagga on WRT54G/GS access points that run the OpenWRT Linux distribution. Installing and configuring Quagga is a little more difficult in this instance, given the space limitations typical of embedded hardware and because the current OpenWRT distribution (Kamikaze 7.09) does not include binary packages for Quagga. One can install older Quagga binaries built for a previous Kamikaze release using the following commands:

ipkg install http://downloads.openwrt.org/kamikaze/7.06/brcm-2.4/packages/quagga_0.98.6-1_mipsel.ipk
ipkg install http://downloads.openwrt.org/kamikaze/7.06/brcm-2.4/packages/quagga-libzebra_0.98.6-1_mipsel.ipk
ipkg install http://downloads.openwrt.org/kamikaze/7.06/brcm-2.4/packages/quagga-libospf_0.98.6-1_mipsel.ipk
ipkg install http://downloads.openwrt.org/kamikaze/7.06/brcm-2.4/packages/quagga-ospfd_0.98.6-1_mipsel.ipk

(Be sure to use binary packages compiled for the proper hardware platform.  The example above will only work on Broadcom hardware.)

The enable and start the service with the following commands:

echo "password accesspassword" > /etc/quagga/zebra.conf
echo "enable password enablepassword" >> /etc/quagga/zebra.conf
cp /etc/quagga/zebra.conf /etc/quagga/ospfd.conf
/etc/init.d/quagga enable
/etc/init.d/quagga start

My WRT54GS doesn't have enough room for the vtysh binary and its dependencies (readline, ncurses), so I had to configure Quagga by using telnet to connect to its service ports: 2601/tcp for zebra and 2604/tcp for ospfd:

# telnet localhost 2601
Password: accesspassword
hostname> enable
Password: enablepassword
hostname# configure terminal
hostname(config)# log syslog
hostname(config)# end
hostname# copy running-config startup-config
hostname# quit
# telnet localhost 2604
Password: accesspassword
hostname> enable
Password: enablepassword
hostname# configure terminal
hostname(config)# log syslog
hostname(config)# router ospf
hostname(config-router)# log-adjacency-changes
hostname(config-router)# network 172.16.0.0/12 0.0.0.0
hostname(config-router)# network 10.0.0.0/8 WWW.XXX.YYY.ZZZ
hostname(config-router)# end
hostname# copy running-config startup-config
hostname# quit

Again, replace "WWW.XXX.YYY.ZZZ" with a unique area identifier for each site (e.g., "0.0.0.1" for the first site, "0.0.0.2" for the second, and so on).  Once satisfied that Quagga is configured properly, remove the password and enable password settings in /etc/quagga/zebra.conf and /etc/quagga/ospfd.conf to disable remote administrative access to the routing software.

2007-12-19

Just a friendly reminder that asshats come in all shapes, sizes, and colors.

Filed Under: Rants
From the man who brought us "They're Made Out of Meat" (my favorite one-act play).
The nth Blog
More news…
Existential Harmonics
More news…
 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: