Prepend and append values

I'm trying to analyze a hash with a couple of known values. The format for this hash is basically 'word1:password:word2', as MD5. I've tried monkeying about with rules, masks, etc. and I've not yet had success. Is there a simple way to prepend a word, brute force the password, and then append another word? I have done quite a bit of looking through the documentation, and I either don't understand it or have missed it completely.

I should mention that when I provide an example, using say "password" as my password, I can crack this with the following:

$ cudaHashcat64.bin -a 3 -m 0 hash.list --increment word1:?l?l?l?l?l?l?l?l:word2

However, I don't think this is really correct. I don't want to crack 'word1' or 'word2' because they are known - I just need to get at the value between them.

Is there a better approach?
That is the only way to do it. You cannot just find a part of the MD5. You either find it all or find nothing.
If word1 and word2 are the same for every hash (not word1=word2 but word1pass1word2 and word1pass2word2 will have the same word1 value for example), then your mask approach would be the way to go since the hash is calculated including this value. Once you have finished cracking you can purge the results from word1 and word2 to keep only the HashTongueassword. Depending on the algorithm, you might be able to get rid of word1 by using the ($salt.$pass) variant and put the word1 as salt with the hash. You can then delete the fixed number of characters of word2 from the result file.
Hi, I'm hijacking this question Smile

I have a set of hashes with the format md5(salt.pass.salt). How would I go about to get oclhashcat working with this?