Originally, buttermilk was created by churning butter from fermented or cultured milk until the fat globules and liquid separate. This technique is seldom used commercially to create buttermilk now, but it is possible to create buttermilk from this method if one over-whips heavy cream.
Currently, buttermilk is created by adding lactic acid bacteria to milk or by adding food-grade acids (like vinegar or lemon juice) to milk. Using these methods, it is possible to create buttermilk with any fat content depending on dietary preferences. The lactic acid bacteria creates lactic acid from digesting lactose. This lactic acid increases the pH of the milk causing the milk to curdle and giving it its sour taste.
If you do not have buttermilk, you can create it by mixing one tablespoon of lemon juice or vinegar with 1 cup of milk then allowing it to rest on the counter for 10 minutes.