I've had good luck with Kroil. Spray or wipe on, sit a few minutes, wipe with cloth or paper towels. Use a little fine steel wool once the cloth stops removing rust effectively. Repeat until it looks pretty good, then Kroil it, let it sit overnight and do it again the next day. Seems to work better than regular gun oil.