In a small bowl, combine onion, cilantro, vinegar, lime juice and 2 tablespoons oil until blended. Pour 1 cup marinade into a large bowl or shallow dish. Add lime halves. Rub steak with remaining oil; sprinkle with salt and pepper. Add to bowl; turn to coat. Refrigerate 8 hours or overnight. Cover and refrigerate remaining marinade.
Drain steak, discarding marinade and limes in bowl. Place reserved marinade in a food processor; process until chopped chopped.
Grill steak, covered, over medium heat or broil 4 inches from heat until meat reaches desired doneness (for medium-rare, a thermometer should read 135°; medium, 140°), 6-8 minutes per side. Baste occasionally with reserved marinade. Let stand 10 minutes before thinly slicing steak across the grain.