I don't understand.
If FreeBSD is designed basically for server, this is the same thing for Linux, this kind of debate is useless... and what does exactly mean "server" ?
You can run a server on a Raspberry pi...
I first thought that "hacking" meant using an OS to develop web attacks...", any OS can be used to hack.
But reading the exchanges, the meaning of "hacking" changes and if I understand well.... you mean "hacking" in the way customizing an OS.
Everybody know that Linux distros are out of the box OSes. This means that this is much easy to setup BUT THIS ALSO MEANS that it is harder to hack.
If you hack your Linux distros, you may break various things, and for example you can break the update process.
Out of the box means... you accept standard packages, this is the contrary of hacking.
On the other side, FreeBSD IS NOT an out of the box OS, this means that it is much more difficult to setup BECAUSE users have greater liberty to setup their system as they want.
So FreeBSD IS BY DESIGN the system you can hack. Most people using FreeBSD use FreeBSD because of "FreeBSD port system" where anyone define his own building options.
FreeBSD is not designed only for big servers, this is FALSE. FreeBSD can be modified, hacked in various way to create embedded system for various appliances, as FreeBSD can run big servers.
If you want to use Linux in embedded systems, you must use special lightweight distros, you can't use Ubuntu which is designed for desktop and heavy servers.
In fact FreeBSD is closer to "linux from scratch" than Ubuntu...
http://www.linuxfromscratch.org/
With FreeBSD there is no "systemd", and today "systemd" is known to be a obstacle for users who want to "hack" their systems.
OpenBSD is a security oriented OS, and I would say that it is more "big server / desktop" oriented.
FreeBSD and NetBSD remain the most full versatil BSD systems.
Today, if you want to hack, FreeBSD, NetBSD and Linux from scratch are the best solutions
With Linux from scratch you build your own Linux distro. For example you can discard "systemd" and use SystemV or any other alternative....
With FreeBSD you can build custom kernels, you can build custom worlds.... the only thing.... it will require some skills. Doing such things is not given to everybody... or you must take the time to learn.