He encontrado este código que podría servir para lo que quiero hacer, pero no consigo ejecutarlo ya que me da error por toos laos... alguien puede pegarle un ojo a ver si encuentra algún error simple?
Por lo que he interpretado se ha de ejecutar con ruby... 
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Collections;
namespace BruteForcer
{
    class Program
    {
        static void Main(string[] args)
        {
            //www.xxxxx.com/xxxx/oziak
            string alphabet = "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
            ArrayList al1 = new ArrayList();
            al1.AddRange(alphabet.Split(','));
            for (int j = 0; j < al1.Count; j++)
            {
                for (int k = 0; k < al1.Count; k++)
                {
                    checkLength("
http://www.xxxxx.com/xxxx/*Enter Custom Stuff Here*, 13219);
                }
            }
            Console.WriteLine("End Of Brute Force.");
            Console.ReadLine();
        }
        public static void checkLength(string URL, int length)
        {
            string result = URL;
            HttpWebRequest loHttp = (HttpWebRequest)WebRequest.Create(result);
            HttpWebResponse loWebResponse = (HttpWebResponse)loHttp.GetResponse();
            StreamReader loResponseStream = new StreamReader(loWebResponse.GetResponseStream());
            string tmp = loResponseStream.ReadToEnd();
            if (tmp.Length != length)
            {
                Console.WriteLine("URL Found: " + URL + " : " + tmp.Length);
                Console.ReadLine();
                System.Diagnostics.Process.Start(URL);
            }
            else
            {
                Console.WriteLine("Failed: " + URL);
            }
            loWebResponse.Close();
            loResponseStream.Close();
        }
    }
}