
Several IP-enabled devices in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lab use TFTP to retrieve configuration files from various locations on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet. This pains me. You can probably imagine what cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se devices are. Unfortunately I don't control how cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se devices work.
I run Sguil at my lab gateway to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet. I watch traffic right before cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gateway, before it is NAT'd. I really don't care what's on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r side. I mostly care what is leaving cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 network, so I concentrate my NSM activities cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re.
I noticed one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365se TFTP-enabled devices trying to retrieve a file repeatedly. I looked closer at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 traffic (thanks to Sguil I keep a record of traffic leaving for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet) and noticed I never saw any replies. Simultaneously I received an email from tech support for this device. They told me to unplug all Internet devices from my cable modem and plug cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 troublesome device into cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 cable modem overnight (!) My answer to that: "heck no."
I decided to run an experiment with a TFTP client inside cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lab and a TFTP server on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet. By watching traffic on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 internal and external sides of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gateway, I could see TFTP requests making it to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TFTP server on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 Internet, and TFTP replies coming from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 server back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gateway. However, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TFTP replies never appeared on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 internal side of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 gateway.
I did some research and determined that FreeBSD's Pf firewall can't handle TFTP traffic by default. Here is why:
18:13:31.205435 IP my.public.ip.addr.64212 > tftp.server.public.ip.69: 17 RRQ "test.txt" octet
18:13:31.282363 IP tftp.server.public.ip.51186 > my.public.ip.addr.64212: UDP, length 29
18:13:31.284161 IP my.public.ip.addr.57880 > tftp.server.public.ip.51186: UDP, length 4
You see cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TFTP request to port 69 UDP. The reply, however, comes from port 51186 UDP to port 64212 UDP. Pf doesn't automatically know that packet 2 is associated with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 TFTP request in packet 1.
Fortunately, FreeBSD and ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r operating systems ship with
tftp-proxy(8). I tried following cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 example in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 man page, but I ended up adding cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 configuration file /etc/pf.conf. $local192 is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 LAN from which I expect to see TFTP requests.
no nat on $ext_if to port tftp
rdr-anchor "tftp-proxy/*"
rdr on $int_if proto udp from $local192 to port tftp -> \
$int_if port 6969
anchor "tftp-proxy/*"
I added cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 following to /etc/inetd.conf.
acmsoda dgram udp wait root /usr/libexec/tftp-proxy tftp-proxy -v
acmsoda is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 name in /etc/services for port 6969.
I had to enable /etc/inetd in /etc/rc.conf.
inetd_enable="YES"
inetd_flags="-wW -C 60 -a 172.16.2.1"
Without cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 -a flag, tftp-proxy would be listening on all interfaces, and I don't want that.
Now I was ready to reload Pf and restart /etc/inetd.conf.
r200a:/root# pfctl -Fa -f /etc/pf.conf
r200a:/root# /etc/rc.d/inetd restart
I checked to ensure port 6969 UDP was listening.
r200a:/root# sockstat -4 | grep 6969
root inetd 161 5 udp4 172.16.2.1:6969 *:*
Now I was able to retrieve my test file via TFTP.
tftp> get test.txt
getting from tftp.server.public.ip:test.txt to test.txt [octet]
sent RRQ
received DATA
Received 25 bytes in 0.1 seconds [2000 bits/sec]
I wanted to note that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 man page recommended this addition to inetd.conf:
inetd(8) must be configured to spawn cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 proxy on cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 port that packets
are being forwarded to by pf(4). An example inetd.conf(5) entry follows:
127.0.0.1:6969 dgram udp wait root \
/usr/libexec/tftp-proxy tftp-proxy
That didn't work for me; I saw this error in /var/log/messages.
Jul 13 17:11:56 r200a inetd[99738]: 127.0.0.1:6969/udp: unknown service
By specifying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 port only and using -a to bind inetd where I needed it, I avoided this error. There's probably anocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r way around this though.
The final step will be seeing this TFTP-enabled device updating itself during cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 next 24 hours.
Richard Bejtlich is teaching new classes in
Las Vegas in 2009.
Late Las Vegas registration ends 22 July.