The Brooklyn Public Library main branch at Grand Army Plaza has a passport office that has walk ins. Check for their hours.
Monday through Thursday they are open until 7(but they say to be there at least half an hour before they close). The phone number is (718) 230-2292
Make sure you bring a money order or check for the passport fee ($80). The nearest place to get a money order is in Duane Reade on Flatbush Ave, about 10-15 minute walk away. You can pay the $25 fee that goes to the library with a Visa or MasterCard.