...or you can catch a train from Sibiu or Sighisoara to Arad (where I live) and then go to Hungary; I know cpl of direct trains myself.
actually there is direct train to Hungary from Sibiu as well BUT not in december ; you can use the CFR
(Romanian Railways) website and you need to plug "Curtici" and not Budapest b/c they cannot list any trains outside Romania. But whatever train passes Curtici, goes to Hungary.
There's also a choice of trains from Sighisoara to Hungary; 3 trains spread out during the entire day. Try here
So you basically can catch a train to Hungary from Brasov, Sighisoara or Arad (which is right by the border)
btw: there's a railways' workers strike in Hungary going on these days; you might want to check the news abt that.