Faits : A. Par jugement du 22 mars 2016, le Tribunal des mineurs du canton de Vaud a libéré X._ du chef de prévention de viol et d'actes d'ordre sexuel sur une personne incapable de discernement ou de résistance. Il l'a condamné pour contrainte sexuelle à une peine privative de liberté de 8 mois. Outre les frais de procédure partiellement mis à sa charge, X._ a été condamné à verser, à titre d'indemnités pour tort moral, un montant de 10'000 fr. à A.A._ et un montant de 3500 fr. à B.A._. B. Statuant le 3 novembre 2016, la Cour d'appel pénale du Tribunal cantonal vaudois a rejeté l'appel de X._ et a partiellement admis l'appel joint du ministère public. Elle a réformé le jugement du 22 mars 2016 en ce sens que X._ était condamné pour contrainte sexuelle et actes d'ordre sexuel commis sur une personne incapable de discernement ou de résistance à une peine privative de liberté de 10 mois. Le jugement du 22 mars 2016 a été confirmé pour le surplus. En substance, la cour cantonale a retenu les faits suivants. B.a. Né en 1993 et ressortissant de la République de Maurice, X._ est venu s'installer en Suisse durant l'été 2010 après avoir vécu dans son pays d'origine, rejoignant alors sa mère et son beau-père à D._. Peu après son arrivée en Suisse, X._ a passé une semaine de vacances à E._ au domicile de C.A._, qui était l'époux d'une amie de sa mère, à savoir F.A._, ressortissante mauricienne décédée en décembre 2009. Dans l'appartement familial vivaient également les filles jumelles des époux A._, soit A.A._ et B.A._, nées en 1999, ainsi que G._, née en 1988 et issue d'une précédente union de F.A._. En août 2010, à une date indéterminée, dans l'appartement d'E._, X._ regardait la télévision, assis sur le canapé du salon, avec les jumelles A.A._ et B.A._, qui s'étaient endormies à côté de lui. Profitant du sommeil de A.A._, X._ a introduit sa main dans la culotte de l'enfant et l'a caressée au niveau du sexe, à même la peau. Excité, il a sorti ensuite son sexe en érection de son pantalon, a pris la main de la fillette et l'a placée sur son pénis. S'étant réveillée, A.A._ a retiré sa main, en se montrant contrariée. Freiné dans son geste, X._ a fermé sa braguette et s'est retiré dans sa chambre. B.b. Après cet épisode, à la même période, toujours dans l'appartement d'E._, X._ s'est approché de A.A._ et B.A._ qui jouaient dans le salon. Il a emmené A.A._ dans la chambre de la mère défunte des enfants et l'y a enfermée dans l'intention de commettre sur elle des actes d'ordre sexuel. Comme B.A._ essayait de libérer sa soeur, X._ l'a saisie par les cheveux, l'a menacée d'un couteau et l'a emmenée sur le balcon du logement. Il a menacé de la jeter dans le vide si elle disait quoi que ce soit, puis l'a enfermée dehors. X._ a ensuite rejoint A.A._ dans la chambre, dont la fenêtre donnait sur le balcon, et a baissé les stores pour empêcher B.A._ de voir ce qu'il s'y passait. Dès lors que A.A._ pleurait, X._ l'a giflée à plusieurs reprises, lui disant de "fermer sa gueule" et lui demandant d'exécuter des actes à caractère sexuel, ce qu'elle a refusé. Le garçon lui a alors asséné plusieurs coups, notamment au niveau du ventre. Il a ensuite enlevé le bas de pyjama de A.A._ et s'est lui-même entièrement déshabillé. Il a alors touché le sexe de la fillette avec les doigts et l'a forcée à toucher son pénis, qu'il a frotté contre elle, au niveau de l'entre-jambes, jusqu'à ce qu'il éjacule. X._ a ensuite laissé A.A._ sortir de la chambre et a libéré B.A._ du balcon. Cette dernière a alors remarqué que sa soeur avait remis son pantalon de pyjama à l'envers. Le 7 septembre 2012, après que A.A._ s'est confiée à une parente nommée H.A._ lors de vacances à l'île Maurice, C.A._ a déposé plainte pour ses filles A.A._ et B.A._. C. X._ forme un recours en matière pénale au Tribunal fédéral contre ce jugement. Il conclut, avec suite de frais et dépens, principalement à son acquittement. Subsidiairement, il conclut à la réforme du jugement en ce sens qu'une peine de privation de liberté de 2 mois, avec sursis pendant 2 ans, lui est infligée et qu'il est débiteur de A.A._ d'une indemnité pour tort moral de 2000 fr., les conclusions civiles de B.A._ étant pour leur part rejetées. Plus subsidiairement, il conclut à l'annulation du jugement attaqué et au renvoi de la cause à l'autorité cantonale. Il sollicite en outre le bénéfice de l'assistance judiciaire.