Generally speaking you would simply subdivide it. However, hard surface meshes with a blend of curved and hard edged surfaces have additional concerns.
If the SMT (subdivision smoothing) is active in the Geometry menu when you subdivide the mesh, the mesh will be smoothed to produce curved surfaces. You could disable this, but it would produce a faceted mesh.
In order to keep some edges crisp while smoothing the other surfaces with subdivision, then those edges must be creased. Crease functions live in Tool> geometry> Crease, but there are other options for defining creases in ZBrush. Zmodeler provides additional options for low poly meshes.
Since this is an STL, the geometry is probably triangulated which will also produce poor results when sculpting and make the mesh more difficult to work with in general. If you want to work with it in ZBrush it should be returned to quads. STL is an export format designed to export the mesh after the modeling work has been completed for the purpose of print. It does not export geometry in a form that is easily edited in ZBrush. It would save you work if you had access to the original modeling file.
You can use ZRemehser to return it to quads, but some of the detail may not survive the process. If you can define every surface that needs to be separated from another by a hard surface edge as a separate polygroup, you can use the “keep Groups” option in ZRemewsher to draw edges exactly along the points you need to crease. But this will require some effort.
If it seems like this is a lot of trouble, that’s because it is. Files do not easily go back from heavily triangulated geometry to easily editable quads. Triangulating geometry for export is something you do at the end of your work.
Good luck! 