First, let me state that I am currently in a PhD program in a top school in the US. My undergrad GPA was from an engineering program in the top engineering school in my home country. It was 3.65. Compared to others who applied to my PhD program my GPA was probably below average. (Engineering is hard, yo!, and my school graded on a strict curve that permitted only 20% of the class to get A's)
I agree with others who have said that doing another undergraduate degree would be a waste of time. Having said that, you may want to do a post-bac or something similar if you don't want to go the masters route. This will at least allow you to get some more undergrad grades to bring your GPA up and cross the cutoff threshold. I also think that this would be a waste of time though, assuming you have at least the minimum GPA to get past the first review.
The issue with GPA is that many top schools use undergrad GPA to make themselves seem highly selective, and this is a stat that they are judged on in US News and World Report (That's my perception having talked with my program director in my PhD program). They like to have students with high undergrad GPAs, but not every student needs to have a stellar undergrad GPA.
The downside of doing the post-bac is that if you don't get into the program you want, all you have are some extra undergrad classes and a new student loan, and no "network".
Here's my suggestion.
talk with the program directors for the PhD programs you're interested in and ask them what they suggest. They may say that your undergrad GPA is super important, or they may say focus on the GRE and letters of recommendation and your research. They may also tell you if they think your GPA would completely preclude you from consideration.
Assuming the undergrad GPA isn't going to kill your application immediately, consider doing a masters at one of your preferred PhD universities. make sure you crush the GRE, since that's a relevant entry criteria for most schools. This will do a couple of things.
First, it will give you another set of grades, at the university to which you're applying. These grades will mean something and provide easy context for the admissions committee. e.g. if you do classes at Harvard and apply to Harvard, they should know what your Harvard grades mean. If you do classes at USC and apply to Harvard, Harvard may not know what your USC grades mean. e.g. is an A at USC the same as one at Harvard?
Second, it will allow you to become acquainted with professors at your preferred school. This could be the thing that gets you in. If you have someone on the admissions committee who would vouch for you and agrees to be your adviser, you have a much stronger shot of getting in no matter what the rest of your application looks like. If the faculty know you, they are more likely to admit you assuming you're a good student among your peers!
Lastly, if all else fails, when you graduate the masters, you'll have a masters from a good school, and even if you don't get accepted to that school for your PhD, your masters at a good school with good grades will signal to other schools that you are a competitive applicant (again, this presumes your undergrad GPA doesn't torpedo your app before the admissions committee even looks at it.
All this being said, it's still a bit of a crapshoot. I'm in a PhD program at a good school. I teach a class that many of the masters students who want to go on to the PhD program take. The class is regarded as the hardest quantitative class in the school. It's a requirement for the PhD students. Several of the masters students who have done exceptionally well in this class who have applied to the PhD program have been rejected in their PhD application (but ended up at other great schools). Others have been accepted. I'm not sure how much of an influence this class has, but I haven't seen anyone who has done badly in the class get accepted. At the school you apply to, there will probably be one or two classes like this. Typically they are classes you'd have to take in the PhD program if you're accepted anyway. Make sure you take those and do well. This reduces the uncertainty both for you and the faculty about your ability to succeed in the PhD program should you be accepted.