The rust on a car seems to "grow" from the top down and in cracks where pieces join, then randomly all over the surface. These three types of rust are fairly simple to obtain, from Y point position, an occlusion pass and simple noise multiplied onto another noise of lower frequency for more random variety.
The first images is that of just randomly placed rust, the second is of occlusion based rust, the third of rust placed based on the Y position and then multiplied by noise and the last is all three together. I also added displacement according to where the noise fell, albeit way too much. The occlusion presented a huge problem for this. I could not directly hook in the noise that was outputted by the occlusion multiplied by a turbulent noise because this resulted in a segmentation fault, aka Mantra Exit Command 11, aka Exit Command of Doom. I had reinstalled Houdini, deleted preferences, tried a new mantra node, and kicked all the stats down to the bare minimum to try and expedite the render. It must be something with the way the occlusion node is talking to the displacement. Eventually I just rendered an occlusion image and used that as a texture to multiply the noise by, thereby giving the above render. Frankly there is so little displacement on that particular type of rust in the reference photo that this may have all been futile.