Sachverhalt: A. Die Credit Suisse (CS) finanzierte für S._ eine Reihenhausüberbauung in A._/TI, bestehend aus vier Reihen-Einfamilienhäusern im Stockwerkeigentum. Die diesbezügliche Forderung der Bank gegenüber S._ belief sich am 15. April 2003 auf Fr. 1'945'566.15 und war durch vier Inhaberschuldbriefe von insgesamt Fr. 1,5 Mio. sichergestellt. Am 29. Juni 2001 stellte die Credit Suisse die Forderung fällig und leitete das Betreibungsverfahren ein, stellte aber noch kein Verwertungsbegehren. Im Hinblick auf den Erwerb der vier Reihen-Einfamilienhäuser durch die X._ AG mit Sitz in B._/AG gewährte S._ dieser am 10. Januar 2003 ein zinsloses Darlehen von Fr. 450'000.--. Das Darlehen ist befristet bis zur endgültigen Weiterveräusserung der vier Reihen-Einfamilienhäuser durch die Käuferin. Im Hinblick auf die Forderung der Credit Suisse gegenüber S._ trafen die Beteiligten am 22./26. April 2003 folgende Vereinbarung: Die X._ AG erwirbt von der Credit Suisse eine Teilforderung in der Höhe von Fr. 1,5 Mio. (Gesamtschuld Fr. 1'945'566.--) gegenüber S._ zum Preis von Fr. 900'000.--. Für den Fall der Zwangsversteigerung oder eines Freihandverkaufs der vier Stockwerkeinheiten tritt sie einen allfälligen, den Preis von Fr. 900'000.-- übersteigenden Mehrerlös zu 80 % an die Credit Suisse ab. Am 21. Mai 2003 veräusserte S._ die vier Stockwerkeigentumseinheiten zum Preis von Fr. 1,35 Mio. an die X._ AG. Der Kaufpreis wurde getilgt durch das Verkäuferdarlehen im Betrag von Fr. 450'000.-- sowie durch Aufnahme einer Hypothek bei der Neuen Aargauer Bank von Fr. 900'000.--. Am 15. Mai 2005 veräusserte die X._ AG, nachdem sie Renovationsarbeiten vornehmen liess, die vier Stockwerkeinheiten für Fr. 1,6 Mio. weiter. B. Am 3. Juli 2007 wurde die X._ AG für die Kantons- und Gemeindesteuern 2005 veranlagt. Im Einspracheverfahren setzte das Kantonale Steueramt Aargau in teilweiser Gutheissung der Einsprache den steuerbaren Reingewinn auf Fr. 68'059.-- und das steuerbare Eigenkapital auf Fr. 86'285.-- fest. Dabei rechnete es unter dem Titel "fiktives Darlehen S._" den Saldo des Kontos 2065 Darlehen S._ per 31. Dezember 2005 von Fr. 50'877.55 zum steuerbaren Reinertrag hinzu (Einspracheentscheid vom 24. April 2009). Die X._ AG führte Rekurs beim Steuerrekursgericht des Kantons Aargau. Dieses nahm eine reformatio in peius vor und erhöhte den steuerbaren Reingewinn auf Fr. 416'304.--, indem es die geldwerte Leistung (Fr. 50'877.--) um die bis Ende 2005 erfolgten Abschlagszahlungen an die Darlehensforderung von S._ von insgesamt Fr. 399'122.-- erhöhte (Urteil vom 16. Juni 2011). Eine Beschwerde der Steuerpflichtigen wies das Verwaltungsgericht des Kantons Aargau mit Urteil vom 7. März 2012 ab. C. Hiergegen führt die X._ AG Beschwerde in öffentlich-rechtlichen Angelegenheiten mit den Anträgen, die Urteile des Verwaltungsgerichts des Kantons Aargau vom 7. März 2012 und des Steuerrekursgerichts vom 16. Juni 2011 sowie die darauf basierenden Veranlagungen seien aufzuheben; von der Erfassung einer verdeckten Gewinnausschüttung von Fr. 399'122.-- sei abzusehen und der steuerbare Reingewinn 2005 um diesen Betrag zu reduzieren. Das Kantonale Steueramt Aargau beantragt Abweisung der Beschwerde. Das Verwaltungsgericht des Kantons Aargau und die Eidgenössische Steuerverwaltung haben auf eine Stellungnahme verzichtet. 