If you have some artistic flare its not that hard to make a styrofoam cave and then cover it in concrete like stated above. You can use pretty much any styrofoam, cut it, glue it together with silicone, and then coat it with concrete. It probably won't sink on its own, you'll have to weight it down, or attach it to a piece of rock or slate or something.
Currently working on a styrofoam/concrete 3D background on my tank, and I'm really pleased with the result, and you can literally make it whatever shape and however big you want.