I envision a tree:
Code:
+++
  
k=1 white red blue

+++
  
k=2 white red blue
(pair white) 
+++
  
k=3 white red blue
(pair white)(pair red) 
+++
  
k=4 white red blue
(pair white)(pair red)(pair blue)
For each node you can set up the conditional chance.
For instance:
P(white in 1st draw)=b/n
P(white in 2nd draw  white in 1st draw)=(b1)/(n1)
P(white in 3rd draw  white in 1st draw, red in 2nd draw)=(b1)/(n2)
Now for instance the chance for a pair of white socks in the second draw is [product rule]:
P(white in 2nd draw, white in 1st draw) = P(white in 2nd draw  white in 1st draw) P(white in 1st draw)=(b1)/(n1) * b/n
The chance to finish with a pair of white socks is [sum rule]:
P(pair of white socks) = sum P(each possible way to finish with 2 white socks)