I'm assuming you are new to 3D modelling because of the way you're phrasing the question.
The typical answer is use Blender, it's free. I personally prefer 3DS Max, which is free for 3 years with a student license (as far as I know, they don't check to verify if you're a student or not). For sculpting, Sculptris is a free alternative to ZBrush, the industry standard. I use Mudbox, which is also in the same Autodesk ecosystem as 3DS Max (and also free with a student license).
It takes a lot of getting used to if you're new. You can find tutorials all over youtube, but it takes a lot of practice to get good. My workflow for making a human character is blocking out a very low poly model and moving that back and forth between Mudbox and Max.
There are plenty of character-making programs out there too. If you're new those will be a good starting point. MakeHuman, Mixamo, Autodesk Character Creator, iClone Character Creator all come up early on the google search results.