assuming you're using photoshop-
When making concrete, make your plain grey slab and then get a purply colour. Set a blurred round brush at opacity of around 10. Splash several dots of this purple onto the concrete. Make sure its random looking. Do the same with brown and green.
Finally, add a very small amount of noise.
The low opacity colours make it look like random murk, and the noise looks like the little grainy holes you get in concrete.
I've never tried with ice, but surely just a very pale blue/white, then make it translucent in hammer....
I agree with you about trying to make metal. Its the devil's work