Partly i googled them. Partly i got them from textures.com. But there is a limit on how much you can download as a free user and as well a resolution limit. So i mostly took the pictures where there are more variants available and put the lower res images together to a bigger sized one. Then i used the nvidia plugin for photoshop to get normals. But i just recently started to use zbrush to actually paint out my own textures with real geometry. I did that for the stone i.e. but i will slowly try to replace all my textures with this method because the normals and heightmaps/displacementmaps u get from that are without comparison.