Two executables are enough to do it:
- the first one to send the data to overflow the rpc buffer and allow the connection. Most of the time the reboot comes from that one failing the command, which forces the system to reboot (it's in the rpc service properties). Sometimes this one is split in two programs.
- the second is a quite common program, you use it to connect to the victim and open a remote shell.
These two exist on virtually any platform, and tutorials exist on how to use the exploit. That's why it's getting so common.