3-bit multipliers - how do they work?
This may not be what you are looking for as far as getting insight into a regular multiplier circuit, but you can implement this easily with just a ROM.  All you need is 64 memory loctions, each 6 bits wide.  You load the ROM with answers to each of the possible 64 input cases, and the rest is a lookup.

This may sound dismissive, but actually small multiplies and other more complicated functions are often implemented with a lookup table.  This would be the normal way to do it inside a FPGA, for example.  As the words get wider, the lookup table method becomes impracticle, but for just 3 x 3 it is probably the most appropriate way to implement a multiply in most real cases.