I am Indian IT Male

I know I am already doomed, and my chances of getting into top B school program are very slim compared to others! However I am trying to be optimistic about the whole mba process. So I took Gmat last month(in the month of May) I only got a 660 (47 in quant and 34 in verbal, 4 in AWA). I know this is less than average score, but I want to know if there are any slightest ever possibilities to get in to top 20 mba programs with this score, so that I dont waste my time retaking GMAT and instead concentrate on my application and essays. I have a 3 years of experience in software industry and I am currently working for a top IT company in India. I have lots of extra curricular activities to put in my resume from my college days.. Cadet in National Cadet Corps Navy division (Its kind of Military training for students which is aimed at developing character, comradeship, discipline etc), Lead a group of 20 people 2 times in a 1000 km Cycle rally across India to spread awareness about various social issues, Took part in various volunteer activities (Green city, Teaching under privileged children, coastal clean up activities), Silver medal in Inter college rifle shooting etc.. Also I have 3.2 gpa in Engineering from a top regional University. So is my profile kind of okay for top 20 or am I head over heals and aiming too high..? I am a first timer here, please be kind to me and help me get on the right path