You use pattern matching to break the argument into the first character and remaining characters, then recursively call the stringDub function on the tail. You also need to check for the empty list in order to end the recursion when there are no more elements.
stringDub [] = []
stringDub (h:t) = doubleItUp h ++ stringDub t
where doubleItUp :: Char -> String
doubleItUp = -- fill in the rest.