Honestly, you have a profile that we see on CC quite frequently. The biggest obstacles you face will be the same as others - you come from an over represented country, need financial aid, and are looking to major in STEM. International acceptance rates are far less than the overall acceptance rates and the vast majority of schools will consider your ability to pay before deciding to admit you. I’m not saying it is impossible but if you research the number of international students at the top 20 universities, the odds are not that great. MIT generally accepts 5 or 6 Indian students per year. If that number holds true for each of the other 19 in the top 20, you would need to be one of the top 100 students in your country, presumably higher if you need financial aid since a need aware school might choose a student a bit further down if they can pay.
If you are open to schools outside of the top 20, there may be other options you could consider that might have more favorable odds.