I've run an Ethereum full node using Geth. I want to know if my public IP is exposed? Could hackers target my machine through the Internet?
yes your node will be exposed to the public you could check it in https://www.ethernodes.org/network/1/nodes you will find your public IP.
hackers indeed could target your machine (Dos) and scan its ports to search for any any vulnerability. Use a VPN or TOR to hide your real IP and configure your firewall to permit only the ports that Geth uses.