This is a textured image. It’s very simple to do an image like this.
First you have to take a shot of something (portrait, landscape….etc.). Then you take another of a texture (rusty scratched steel, old wall with stains or be creative and find out something :) So you get the two images.
I’ve bad news – you have to use Photoshop! :D So you open the two files in Photoshop and drag the texture and drop onto the landscape or portrait image. Then in Layers select Multiply (or Soft Light, Overlay – which you think it’s better). If it’s not the image that you want, you can go to Levels, Curves, Brightness & Contrast or you can Invert the texture!