Every CPU is different, even if the same model or from the same batch. The overclocking tolerance of one may be higher or lower than another.
What kind of cooling system are you using? This also will limit how far you can go.
As for software, the best thing to use is the good old BIOS. It's tedious but small increments with testing for system stability in Windows and good temps is the best.
There is software available from many motherboard vendors that can do it but these are not as efficient as doing it yourself (i.e. it may set the voltage higher than needed for instance which produces more heat).
I'd suggest searching for the model number of your motherboard and overclocking. You may find some experiences and methods from users who have done it.