Computer Security and Penetration Testing from the Ground Up.

  1. Starting Tools.

    1. Ubuntu Linux.
  2. Intro to System Architecture.

    1. System Architecture.
  3. A Bit of Programming.

    1. Python Programming.
    2. Unix Shellin’.
    3. Assembly For Linux.
    4. Making Functions in Python.
    5. A Teaspoon of C.
  4. Overflowin’.

    1. Buffer Overflowing!
    2. Introduction to Wireless Security (Optional!).
  5. Web Development and Security.

    1. SQL.
    2. I love LAMP.
    3. You down with PHP?
    4. SQL Injections (ouch!) [In Progress...]

What is all this?

Last Update: .

Hopefully, this will be a frequently-updated list (hence the date above!) detailing the resources for some particular topics that are important to penetration testing and computer security. The catch is that this will not assume nearly anything about the person who wants to learn it, so there may already be things here that you know. If so, feel free to skim through those and proceed.

Before you get too invested, I should mention that I'm not a professional by any means, and, in fact, I am working through this syllabus as well. Hence, there may be material which is either included and not as important as I thought it was or which is much more important that I fail to include. Feel free to comment (at the very bottom of the page) and tell me what's what. For the most part, I will be following closely the remarks given in several "beginner network security" threads from Reddit, as well as some advice from a "real" network security friend I have. Nonetheless, caveat emptor.

Also, because this is a course in security, we will eventually be learning things which can potentially be used in ways which are not legal; you should be smart about what you're doing. For the most part, I will be instructing you to construct your own things to practice on; nonetheless, none of this material should be used with any malicious intent. If you feel that you will be unable to not be evil with this information, you ought to stop reading here and, instead, would perhaps find this more interesting.

A note about the links: nearly none of the linked webpages are owned or written by me; they're all awesome, though! If you find a dead link, or if you're someone I linked who does not want to be linked, let me know in the comments at the bottom or by email and I'll fix it.

I'll give tiny exercises after most lessons; you are encouraged to actually do them since this is not a spectator sport. Note also that solutions will be "invisible" until you highlight them, and hints are sort of light-colored.