Use Kitty litter or buy the 50# bag of oil-dry at the auto parts store for $5. I have found that putting oil dry down, clean it up after it absorbs, and then repeating the process gets up oil stains to the point you can't hardly see them. I do it all the time in the driveway(tranny leak). Put enough down so it is covered and wait a day. Depending upon how much oil you have, the very top layer may still look dry, but sweep it up and it won't be underneath. As you start getting all the wet stuff up, then leave it for longer periods. Even when you think there isn't anything to absorb, it still keeps working which is why I use it all the time in the garage and driveway. When it gets wet or rains I replace it.
I've tried portland cement (once recommended to me) to help absorb stains and recolor the concrete but it sticks down when wet and you have to chip it off if it dries. Brushing a little cement on a discolored area that is dry with no oil residue may bring back a little color though. They also sell some driveway cleaner at Auto Zone for a few bucks a gallon. I bought some but haven't used it cause I'm happy with the oil dry. I will probably try the dawn next.