I can change it for one session, but it always reverts back to white on black. How can I change it permanently?
That depends on our OS.
In windows 7:
if you are not on windows 7 you will need to do the same with 'defaults'.
Screenshot of a new cmd.exe after changing the setting and closing the old shell:
You can use the color command. Detailed the use of the method is: sets the default console foreground and background colors. - the first as the background, the second is prospect. One of each number can be any of the following values: 0 = 8 = 1 = 9 blue grey black = 2 = A = green light green light blue B = 3 = light green bright light green 4 = red C = 5 D = = purple lilac pink 6 E = = yellow light yellow 7 F = = white bright white, for example: "COLOR fc" produce bright red in bright white