In traditional power networks, energy theft is a significant problem that causes severe financial losses to utility companies and legitimate users, jeopardizes system stability, and enables other illegal activities. Recently, governments and utility companies propose the Smart Grid as the next generation electric network to improve the current grid's efficiency, reliability, and security. In the Smart Grid, smart meters are deployed at users' premises to facilitate data collection, system control, etc. However, smart meters are vulnerable to cyber attacks, thus enabling easier energy pilfering. In this paper, we model the amount of energy stolen by a smart meter as a measurement bias, and propose an energy theft detection algorithm based on state estimation. In particular, our algorithm employs weighted least squares (WLS) state estimation, and can identify all the energy thieves in the system. We conduct extensive simulations in IEEE 13-bus and 123-bus test systems to validate our algorithm.