It really depends upon which "level" you are looking at. From the "macro" level, friction is small projections in the surface hitting and perhaps breaking off against small projections in the object. From the "micro" level, it is the electric fields of the protons and neutrons pressing against one another.
Friction can be quite interesting. The Wikipedia article mentions situations when you can have friction even with zero or negative normal force. It gives adhesive tape as an example. Sometimes adding water (normally considered a lubricant) can also increase friction. For example many people lick their fingers when trying to turn the pages of a newspaper.