Clean the concrete. You can buy a concrete cleaner at your local home improvement store. Sweep or use a shop vac and get all the loose dirt off first. Then use a concrete cleaner according to the manufacturer's directions. For stubborn oily spots or stains, use a wire brush with some of the cleaner or a little degreaser directly on the spot. You can also use a wire brush attachment to the drill if you have one. Rinse with fresh water and let dry. Drying time will depend if you are indoors or out in the sun. Outdoor drying time may be an hour, where indoor drying time may take overnight. You will be able to see the concrete dry. Make sure the area is well ventilated and you wear protective clothing, gloves and face wear throughout this project.
Apply sealer. Make sure you buy a sealer made for concrete floors. Use a paint brush to go into corners and around the outer walls and then use a medium nap roller with an extension pole to do the rest of the floor. You should only need one coat of sealer, however, if the floor is very porous you may need a second coat. Read the manufacturer's directions on drying time and follow all directions exactly. It usually takes several hours to dry.
Stain the concrete. You can do this in many different ways. It's always best to go around the outside perimeter and corners first with a paint brush, but you can get pretty creative on the floor itself. You can make it swirl or make a checkerboard design or you can use a sprayer and spray it on for a nice even coat. Again, you will want to use thin coats rather than one thick coat. The amount of coats will depend on when you are happy with the color.
Stain and seal at the same time. You can buy a stain and sealer together. It gives you some color and the protection of the sealer with one step. The down side is, you can't control the color. With separate components, you can stain one coat for a light color to a few coats for a darker color. You would apply the stain and sealer the same way as the sealer alone.