mid-15c., "pretend poverty," probably from Old French muchier, mucier "to hide, sulk, conceal, hide away, keep out of sight," of uncertain origin, perhaps from Celtic or Germanic (Liberman prefers the latter, Klein the former). Or the word may be a variant of Middle English mucchen "to hoard, be stingy" (c. 1300), probably originally "to keep coins in one's nightcap," from mucche "nightcap," from Middle Dutch muste "cap, nightcap," ultimately from Medieval Latin almucia, of unknown origin. Sense of "sponge off others" first recorded 1857.
Whatever the distant origin of mooch, the verb *mycan and its cognates have been part of European slang for at least two millennia. [Liberman]
Related: Mooched; mooching. As a noun meaning "a moocher," from 1914.