Xterm is configured via X resources. This is how you might configure it for white on black, with a lighter blue than the default (adjust the color as you see fit, obviously):
XTerm.VT100.background: Black
XTerm.VT100.color0: Black
XTerm.VT100.color1: Red
XTerm.VT100.color2: Green
XTerm.VT100.color3: Yellow
XTerm.VT100.color4: CornflowerBlue
XTerm.VT100.color5: Magenta
XTerm.VT100.color6: Cyan
XTerm.VT100.color7: White
XTerm.VT100.colorBD: White
XTerm.VT100.colorBDMode: true
XTerm.VT100.colorUL: Yellow
XTerm.VT100.colorULMode: true
XTerm.VT100.cursorColor: Red
XTerm.VT100.foreground: White
You can use X color names (you can see all the color names with xcolors or in a file called rgb.txt which may be somewhere under /etc/X11, /usr/X11 or /usr/share/X11 or some similar location depending on your system) or #RRGGBB. colorBD is the color used for bold; with colorBDMode set to false (the default), this setting is ignored and bold text is displayed in a bold font. The same goes for colorUL, colorULMode and underline. You can go beyond color8 (up to color255, or less depending on the xterm version and compile-time configuration). color8 through color15 correspond to 0–7 with bold; colors beyond 16 are rarely used by applications unless you've explicitly configured them.
Put these settings into a file called ~/.Xdefaults. Most systems load this file automatically when you log in. If yours doesn't, add this command to your X startup script:
xrdb -merge ~/.Xdefaults
To test the appearance of foreground color 42 over background color 17, run this in a shell in that terminal:
printf '\033[38;5;%dm\033[48;5;%dm%s\033[0m\n' 42 17 "Hello, world."
If your xterm is compiled without extended color support, you'll need to use the classical control sequences:
printf '\033[3%dm\033[4%dm%s\033[0m\n' 4 1 "Hello, world."
The foreground and background color must be in the range 0–7 in that case. If your xterm is compiled with 16-color support, replace [3 and [4 by [9 and [10 respectively to select the bright versions (colors 8–15).