Position a rack in the center of the oven, and heat the oven to 400°F.
Arrange the beef bones in a single layer in a large flameproof roasting pan. Drizzle with 2 tbsp of the oil and then rub the oil all over the bones. Roast, turning the bones every 20 minutes, until deep brown, about 1 hour.
Put the remaining 2 tbsp oil and the onion, carrot, leek, celery, and mushrooms in an 8-quart stockpot. Cover and cook over low heat, stirring once or twice, until tender, about 15 minutes. Uncover, raise the heat to medium, and cook until the vegetables are browned in spots, about 3 minutes.
Transfer the bones to the pot with the vegetables, leaving any rendered fat in the pan.
Discard the fat from the pan, and set the pan over medium heat. Add the vermouth and bring to a boil, using a wooden spoon to scrape up any stuck-on bits from the bottom of the pan. Add the liquid to the bones and vegetables. Add about 1 gallon of water, and bring to a boil over high heat. Add the tomatoes, thyme, parsley, and bay leaves. Reduce the heat to low and simmer gently, uncovered - the stock should barely bubble - for 6 hours, topping up the water level occasionally to keep the solids covered.
Strain the stock through a fine sieve into a large bowl and let cool to room temperature. Chill overnight, then skim off the layer of congealed fat. You'll have about 7 cups of stock. (The stock can be refrigerated for up to 2 days or frozen for up to 2 months.