I'm having a rather difficult time determining what memory security settings need to be adjusted on a fresh install of Fedora 25 in order to perform basic buffer overflows in the C language. As a newbie, this has been the toughest to figure out. I have several books and have watched several tutorials but every single one either provides a CD of a specific Linux install, or a asks to set up a VM. Unfortunately, I've had a very tough time setting up a VM on Windows (many different errors, terrible performance, etc...) and my Linux box is old, probably far too old to have enough memory to VM.
That said, are there any OS settings that would by default prevent a buffer overflow from happening on a fresh Fedora 25 install? If so, which settings and how could I disable them? I've tried to perform an attack on my own program and the memory addresses are the same in gdb every time I run the program. Also, I am able to cause a segmentation fault by overflowing the buffer properly (canaries are disabled in the file), however, when I try to execute a function by using nm [myfile] on the command line, and entering the address into the overflow, the function does not execute, instead, I get a seg fault at best. I am working with 64 bit programs here.