Academy Student-> Genin
Auto Gained. You start as Genin
Genin->Chunin
This requires passing of the chunin exams OR 2 kage's saying that you are ready and good enough to be promoted
Chunin->Jounin
This requires the Chunin going through a rigerous Jounin exam which will be explained only to the chunin being sent. OR a kage duel with the chunin with at least 3 anbu or kage ranked ninja aside from the kage saying that they passed.
Jounin->Anbu(Yes you have to be Jounin. Otherwise you are placed in to a training program)
This can only be done by the Kage. However there is a maximum of 5 anbu per villiage and to do this the jounin must submit at 5,000 word post to be even considered.
Jouniin->Legendary Shinobi
This is the hardest rank to acquire. This will be decided by the Kage of the village. However, each village is limited to 3. However, if a ninja of that village beats a Legendary Shinobi, that ninja auto ranks to such a status and the Legendary Shinobi is either, A) Docked a rank keeping all jutsu and items etc..etc.., or B) that Shinobi has the chance to go Missing.
Oni->Oni leader
If you are an Oni and kill the leader you are the new leader. If the leader is killed by a non Oni then the Oni will vote and if there is no clear winner a tournament will be held among the Oni.