Correct. You will need a custom solution built upon the foundation that the Dynamics CRM platform provides.
Out-of-the-box Quotes/Orders/Invoices in CRM were more or less designed to be used by companies that sell widgets. This doesn't really match the needs of most service-based organizations.
To log time against projects correctly/efficiently in Dynamics CRM, you'll probably want to extend the system to use custom entities rather than those provided out of the box. Reason for this is that quotes and orders are intrinsically tied to the Dynamics CRM product catalog, Units of Measure, price lists/schedules, etc.
When you try to extend (customize) the system within these OOTB record types (also called entities) you'll find that there are a lot of system restrictions that will prevent you from customizing them they way you want.
My best advice is to create your own data model from scratch (which you can do fairly easily in Dynamics CRM). You will be able to create the relationships of work tasks to a Project, log time spent etc. However, to aggregate the data into a custom Project record, you'll need someone to write code for that as the OOTB customization tools don't cover this functionality