There are products to paint cement. You will need to get all dirt, oils other grime off the surface to be painted. Some garage floor paint kits come with decorative chips to add texture to the surface.
Annette....We used Kilz primer and paint for concrete.
I would power wash it first. I have an (unpaid, nonsponsored) post for you where we tried to get oil stains out of concrete. This was a difficult task but we tried 2 products in my post:
Deep set stains in concrete are definitely hard to get out. Then I would check out Home Depot or Lowes and get some garage coating for the cement. You know the type that has the speckles in it. Something like this:
If you don't want to use that. You could try painting the concrete with some awesome concrete paint. We used a sherwin Williams brand to paint our patio. I show what paint we used in this post:
My friend always told people that a poorly finished concrete floor always looks better than a poorly painted floor. The paint will wear off in places and unless you're just going to look at it, worn spots looks terrible. If you have a newly poured concrete floor with an excellent finish on it, your best bet is an epoxy paint. Be fussy with the prep work. A spot of oil will let your finish lift right away.
There are also companies that can put an epoxy coating on garage floors. However, you can DIY as suggested.