Some other answers hint at this, but the caution to keep in mind is that ZIP codes are not geographies on a map. They are identifiers for postal delivery routes which are often but not always geographic.
To accommodate the intense demand for data aggregated by ZIP code, the Census Bureau created ZIP Code Tabulation Areas (or ZCTAs) which are roughly what most people think of as the geography that matches a given ZIP code. But not all ZIP codes exist as ZCTAs. For example, my office address is in the ZIP code 60208, but it is in the ZCTA 60201. There is no ZCTA for 60208. You could compare the 60208 ZIP code to recently introduced "overlay" area codes.
Census TIGER data can get you most of the way to mapping postal addresses to geographies, but you have to be prepared for certain ZIP codes to not have ZCTAs, and as J. Miller mentioned in a comment above, the TIGER ZCTA data doesn't keep pace with changes to actual ZIP code definitions.
Finally, ZCTAs are not in any way required to be contained within counties. The accepted answer from Blair Christian points to a resource provided by the Census Bureau which breaks down the relationship between ZCTAs and counties (as well as other geographies.) The data format is a bit complex but it tells what percentage of population, housing units, total area and land area of each ZCTA are in each county.