Hopefully you didn't move or remove the files yet. It's highly unlikely your whole server is hacked, likely just an outdated CMS that allowed the upload. Assuming you've ruled out the FTP and cPanel access logs (which are rarely used for PHP shell uploads) here's what you should do.
You need to log in to SSH and `stat` the files. Note BOTH the 'change' and 'modify' time of every malicious file you find. Normally the modify time is most relevant, but it can be spoofed. I've never seen the 'change' time spoofed, as the system updates this whenever any attributes (permissions, file name, etc) are changed. I.E. if you extract a zip file, the modify time will show the last time the extracted file was edited before it was zipped; however, the change time will tell you when it was placed on your system.
Often PHP shells are used to upload further shells. Take the oldest modify and change times you get from the malicious files, and go to the domains access logs. Hopefully you set up raw access log archiving in the affected domains cPanel accounts; if your log rotation is default in WHM it deletes the domlogs every 24h and you're going to be completely $expletive'd for investigating this. If this is the case I urge you to vote for this feature request:
Better Apache Log Rotation | cPanel Feature Requests
Assuming you are one of the lucky few people on cPanel servers with domlogs that get saved, you should find a POST request (sometimes GET) within 1-2 seconds of the modify/change times of your shell(s). This will tell you what PHP page was exploited to upload the bad file(s). If the request is to another malicous file, `stat` that file and repeat the process.