Tuesday, December 21, 2010

shellcoding

just found some pretty exiting links...
http://www.enderunix.org/docs/en/sc-en.txt
and
http://asm.sourceforge.net/syscall.html

You don't need to know a whole lot of assembly language for these tutorials, though you definitely need to know some c or at least be able to understand some pretty basic c. As it turns out writting shellcode is actually fairly simple because you don't really need it to do anything tremendous. You just want to be able to bind to a port and give anyone that binds access to a shell. Writing low level networking code in c can be a little bit intimidating until you wrap your head around the idea of a system call populating a struct for you and which structs have which parts populated and why. I still get confused by the idea of a basic server in c. If I am doing anything serious I'll rely on python because I am much more comfortable with it, but its definitely interesting to see where it all came from. The basic networking functions are like ics when building electronic devices. Its hard to find good documentation on why they work the way they do, but its still very important to know what they do. The more familiar with a process you become the better suited you will be for reversing it. I am going to print out those pages above as they are the best references I've seen on the subject.

No comments:

Post a Comment