I've pulled several large boulders out of our woods. The biggest I think are between 3-4000lbs. Most of them were burried at least 50%. The basic way I got most of them out is to use a recovery strap, sinching it around the rock in the best spot where it won't fall off. This involves some experimenting and digging around the rock. One key there is to not use straps with hooks. If the strap breaks, and they do, those hooks can become bullets.
For very large rocks where I couldn't get traction, I used a compound pulley setup with cables. Simply using one pulley, with one end of the cable attached to the base of a large tree and other end attached to the tractor and the pulley attached to the strap around the rock, I was able to almost double my pulling power (friction robs a bit of it and sometimes it's not possible to get the perfect angle in the pulley setup). For really large rocks, I'd use two pulleys, one attached at the rock, one attached at the tree.
This approach is relatively cheap. You can get heavy cable (1/2" or 5/8") and pulleys inexpensively. I think the pulleys cost about 40-50 bucks a piece. For safety, I always attached chain to the end of the cable and kept myself fairly far away from the cable. But, I never had an instance of the cable snapping. I did have hardware slip, but it didn't produce any sort of dangerous outcome.