From Hackepedia
Jump to navigationJump to search

TFreak was the author of smurf.c and fraggle.c both are amplified denial of service (DoS) tools.

His interests were system administration, programming and he even got a commit bit at the FreeBSD Project near the year 2000. He had respect for OpenBSD and implemented random pids (functional but hard to figure out (sysctl)) in FreeBSD that could be activated per sysctl.

TFreak died in May of 2010, (likely) alone in his residence in Burlington, Ontario, Canada. He was struggling with epileptic seizures later in his life and was committed to hospital on one occasion for three weeks.


smurf came out in 1997 or so and was an amplified ICMP denial of service attack. TFreak wrote this and sent out some greetings to his friends. He was also mad at the time that a co-sysadmin where he worked stole his girlfriend at that time. At that time TFreak was 16 years old or so, and still attended highschool. Everyone thought he was a real brain, but the tools he wrote showed also a wild side in him. Smurf cost some IRC servers their place as they were "smurfed off" the 'net. TFreak realized how bad the tool really was later when he told me he wanted to get a shirt that said "no ip directed-broadcast" on the back. The statement is a command used on cisco routers to turn off broadcasting outside of a LAN.


In retrospect smurf came out at a good time. It was the beginning of the dot-com days and the Internet was relatively small in comparison to today. With smurf today and DDoS bots I'm sure smurf would have been able to take down the entire Internet. Anyhow thanks TFreak for making us understand.


Fraggle came after smurf and was basically the same thing only with UDP instead of ICMP. TFreak still gave out some greetings to his friends and workplace then and mentioned he could not believe that noone made the fraggle exploit before him.


In October 1999 TFreak and I travelled to Berkeley California to be part of the FreeBSDCon then. We got to know a lot of people who were like gods to me that could do such great things with the BSD system. Shortly thereafter (or before, memory lapses me) TFreak got a commit bit at FreeBSD. I think this was a great moment in his life, but work took hold of him and he was unable to travel to the subsequent BSDCon 2000 even though he wanted to attend it. TFreak ran the Canadian FreeBSD mirror from work called "" or We served it all off a T1 in 99-2000 and had plans to move it to a 100 Mbit link but times changed and the company went under.

TFreak was an enabler for sure. He enabled others knowledge and tools. He also tried to get an IRC server at to link to EFnet. We were linked through I believe before word got out that "TFreak" was admin of the server. There was a big brawl among IRC operators and people took sides. It almost came to be that "if does not unlink from efnet, all of Canada would be unlinked". So we unlinked, it was unfortunate, but it shows the hate that the smurf.c program caused.


TFreak hung out in #unix on Efnet a bit in 1997-1998. He came along to the #unix Toronto meets at Movenpicks in the Toronto downtown core.


TFreak also came along to the GTABUG BSD user group early meetings at 76 Olympic Pizza in Toronto.

TFreak's elite.c

dione$ ./elite -p I found an old program by TFreak in my sources and thought I'd share it, well | F0</|\||) 4|\| 0|_|) PR0@R4|\/| BY 7FR34|< ||\| |\/|Y 50</R<35 4|\||) 7|-|0</@|-|7 ||) 5|-|4R3 |7 |/\|3|_|_ it was crashing so I fixed it up a little bit but found out that he left out the |7 |/\|45 <R45|-|||\|@ 50 | F|><3|) |7 </P 4 |_|77|_3 B|7 B</7 F0</|\||) 0</7 7|-|47 |-|3 |_3F7 0</7 7|-|3 N in the alphabet which is very peculiar, tfreak had a host called about a decade ago and he must have had a fascination with the letter N |\| ||\| 7|-|3 4|_P|-|4B37 |/\||-||<|-| |5 \/3RY P3<</|_|4R 7FR34|< |-|4|) 4 |-|057 <4|_|_3|) |\|0\/3|\/|B3RJ4|)3|)|\|37 4B0</7 4 |)3<4|)3 4@0 4|\||) |-|3 |\/|</57 |-|4\/3 |-|4|) 4 F45<||\|47|0|\| |/\||7|-| 7|-|3 |_3773R |\| something I'll possibly always remember since he died last year RIP 50|\/|37|-|||\|@ ||_|_ P055|B|_Y 4|_|/\|4Y5 R3|\/|3|\/|B3R 5||\|<3 |-|3 |)|3|) |_457 Y34R R|P TFreak wrote this program back at an age of 16 and I just kept the source of this when he shared it with me.. 7FR34|< |/\|R073 7|-||5 PR0@R4|\/| B4<|< 47 4|\| 4@3 0F 4|\||) | J</57 |<3P7 7|-|3 50</R<3 0F 7|-||5 |/\||-|3|\| |-|3 5|-|4R3|) |7 |/\||7|-| |\/|3

Here is his version of some text with the lacking N..

dione$ ./elite Take care Dan whereever you may be, I'll always remember you.. </4|<3 <453 |)40 ><|-|3533|/\|35 ZP\/ |\/|4Z B3 ||_|_ 4|_><4Z7 53|\/|3|\/|B35 ZP/

#include <stdio.h>
#include <ctype.h>

main(int argc, char *argv[])
static char *elitedan[] = {
       "4", "B", "<", "|)", "3", "F", "@", "|-|", "|", "J", "|<",
       "|_", "|\\/|", "0", "P", "Q", "R", "5", "7", "</", "\\/",  
       "|/\\|", "><", "Y", "Z"
static char *elitepeter[] = {
       "4", "B", "<", "|)", "3", "F", "@", "|-|", "|", "J", "|<",
       "|_", "|\\/|", "|\\|", "0", "P", "Q", "R", "5", "7", "</", "\\/",  
       "|/\\|", "><", "Y", "Z"
       int c, p;

       if (argc == 2) {
               p = 0;
               if (argv[1][p] == '-') p++;
               if (argv[1][p] == 'p') p = 1;
                       else p = 0;

       while((c=getchar())!=EOF)  {
                       c -= 32;

               if (isspace(c)) {
                       printf("%c", c);

               c -= 65;
               if (c >= 0 && c <= 25) {
                       if (p)
                               printf("%s", elitepeter[c]); 
                               printf("%s", elitedan[c]); 


The debug incident

I was just remeniscing about this and thought I'd write it down. At one company we worked together TFreak and I were admin staff. A company wanted us to evaluate their router so that we'd eventually use that router instead of Cisco or something. The marketing droids were sure that we could go on console and not break anything. It took TFreak 20 seconds to find the "debug" command and the marketing engineers face turned white. "I don't think you want to go any further or you'll likely cause damage", he said. It was a really funny moment.