Hay un par de técnicas para conseguirlo. Una consiste en lanzar la consola "oculta", e interceptar la entrada y salida estándard desde el Process.Start. Después se pinta dentro del Form una consola igual a la original y en ella se leen y escriben los contenidos
de la entrada y salida estándard. La otra técnica consiste en usar las APIs de Windows para obtener el Windows Handle de la consola, y asignarle como "parent" el formulario que la debe contener.
Aquí tienes un artículo de CodeProject en el que puedes descargar un Control que ya tiene dentro programadas todas las operaciones necesarias:
http://www.codeproject.com/Articles/335909/Embedding-a-Console-in-a-C-Application