Core dump overflow

Core dump in progress...

Resources for learning

| Comments

This blog will serve as my notebook for my infosec learning adventures. Hopefully, it will benefit other learners as well. I am just migrating from my small Blogger blog, because Octopress is so awesome. And it’s “a blogging framework for hackers” of course! That definitely got my attention.

In this post I’d like to share some of the resources I’ve found most helpful with any interested readers out there. I will update it as I find more.

Online classes

This is by far the closest experience to a real life class that I had. The course focuses on C for assignnments, but towards the end it also introduces web technologies like PHP, Javascript etc. The homework was interesting, like recovering some deleted pictures, removing noise from an image, or implementing a site that lets you query, buy and sell stocks. And students were able to freely choose the field and programming language of the final project, so anyone could pick something they were interested in. All assignments and developement take place on a Linux virtual machine which they made for the course, and they also introduce some additional tools to help you with the homework, like valgrind, gdb etc.

Since the lectures weren’t made specifically for an online audience, but were filmed inside their campus, you can get a glimpse of how real life classes are happening at Harvard. There are also sections for beginners and advanced students that present approaches to solving exercises, and walkthroughs that give hints for the problem sets. Forums were very active and helpful, and the teaching staff (including the professor himself) were also participating in the forums, so the course really had a feel of an online community. Back when I took the course, we also received a license key for VMware Workstation for the duration of the course. I can’t recommend this enough, it’s an extremely high quality course, and it really is a well rounded introductory course – you don’t need previous experience with programming or anything.

This is my second favorite. Very good introductory course for Python and computer science, and from MIT! Pdf slides were also detailed and relevant to the material, and homework was interesting and adequate for a course for beginners, although the difficulty went up significantly after the first half of the course. Some homework examples: implement a Hangman game, filter RSS feeds, simulate robot movement. Around midway it became more math oriented (and thus more difficult to follow for me). Overall, one of the more difficult introductory courses, but again, a very high quality course.

This was a pretty solid course for introducing networking, and it focused on theory (and again, there was quite a bit of math involved). Good course, but the pdf slides could have been more detailed. Had to use some external resources pretty often. Well, I always used more resources than were provided in a class, but this time I really felt like I had to do it in order to get the whole picture. Other than that, it was a very good course, I definitely recommend it.

This is a one of a kind course. I couldn’t find any other that touches the topics of malware and underground markets and botnet practices. In fact, because it was all so interesting, the only complaint I have is that it wasn’t longer and with more material. And maybe an assembly and reverse engineering section to complement it. There was a hands-on assignment involving IDA Pro that was optional, and besides the course materials, a lot of papers were provided (and required for assignments).

Here they have alot of computer science classes, but they are mostly Youtube videos and articles. You can get a certificate if you complete the exam. I recommend the Operating Systems course.

A lot of Python based courses on this one, they are less general purpose courses, focusing on specific areas, like debugging, data science, artifical intelligence, cryptography etc. Good courses, but the notes could be improved. Also, being self paced, the exams stay the same (or so it was the last time I used it). I think they no longer give free certificates for completing the courses, which is a practice I disagree with. Nevertheless, I took my first online class from this site, and it was also the place that introduced me to Python :D

Great instructor, has some good introductory courses on Coursera, aimed at complete beginners. The type of guy that can teach programming to anyone, no matter the background.

This is a great site that hosts training courses on multiple fields, like assembly, reverse engineering, malware, exploits and other. Great material, instructors are professionals and slides and program samples are available for downloading. Video quality isn’t exceptional, but other than that it’s a fantastic source of information.

On this site you can take introductory and advanced classes in MongoDB. They cover good material, and the assignments give you practical experience with the technology. The different courses cover material from a developer perspective, focusing on queries, optimization etc. and from the administrator perspective, focusing on deployment and operations, such as maintaining, scaling, monitoring, backing up etc. Previous experience with databases or NoSQL technologies isn’t required.

Hands-on learning

This is my favorite place. Great and active community, and a lot of missions that simulate various hacking scenarios where you can learn different techniques to complete the objectives. Attacking improperly configured sites, doing SQLi, XSS, directory traversal, filter evasion, stealing cookies, information gathering, patching insecure code and many more well designed missions, in addition to cracking, programming and steganography missions..and realistic scenarions, where you have to combine multiple techniques to succeed. They also have a mentor system to help people who get stuck on specific missions. This site is my absolute number one recommendation for learning by doing.

This is another great site with many interesting missions, and also plenty of articles, tutorials and videos. It has a lesser number of realistic missions than Enigma and HTS, but instead it has some unique mission categories that can’t be found on the others, like privilege escalation that simulate an UNIX environment and network forensics, where you have to investigate pcap files.

This one is a classic. Loads of missions, a great number of realistic scenarios, and the only one that has a file system forensics mission, or a programming challenge that involves coding an IRC bot. Not as active as it used to be, but it’s still an awesome place.

Similar to the other sites, but also featuring some unique missions. Not as many or as varied challenges as the rest, but a great site nonetheless. Also, it’s active and it’s hosting many articles.

I highly recommend all 4 of the above. They might share some similarities, but each has its own unique features and strong points. And there are very knowledgeable people lurking around those forums :)

Another great place, in here you can learn about Linux and exploiting vulnerabilities. There are many missions varying in difficulty, each with many levels. I would say that some initial background is required (or many hours of additional research and reading while doing the missions). Oh, and you actually connect to their machines via SSH and play around on live targets.

This is another great place to learn and practice exploiting programs. Levels involve buffer overflows, format strings exploitation, heap exploits and other Linux vulnerabilites.

More wargames that focus on exploits and reverse engineering.

You can download vulnerable virtual machines from here so you can practice on your home lab, and they keep adding new ones. Great place for creating your own pentest lab.

Here you can practice on vulnerable web applications that other users can upload. Some of them are from CTFs.

Other

An awesome community focusing on security and hacking. There are tutorials and helpful information on a variety of topics, and the forums are very active. Discussions aren’t limited to technical fields, there are sections for more general purpose topics as well. A great place if you want to learn from others and contribute back.

The go-to place for learning about exploits.

Best online tutorial for C++ that I’ve used. Could have done without the use of Hungarian notation though.

Tutorials, code and videos from conferences

Another plethora of resources, videos, conferences, articles and web pentesting tutorials.

Books

I’ve read many great books, but it would be overkill to post them all here, so I’ll just list some favorites.

This is a magnificent book that combines 2 of my favorite things: pentesting and Python. Great examples of what you can do with Python in the real world. I want more of its like !

A classic read for learning about exploits and shellcode.

Everything you would like to know about SQLi, examples for each major database, advice on secure coding, query explanations, cheatsheets..amazing book

This is the most comprehensive reading for web application hacking that I’ve encountered. Definitely a must read.

One of the best penetration testing books that I’ve read. Very practical, gives examples of real world scenarios that were encountered in the author’s career. What I liked most was the mention of additional valuable tools that should be added to one’s arsenal (that don’t come preinstalled on Kali, for example).

The best introductory book on penetration testing that I’ve read, and a great read even if you are not a beginner. Again, a book so good that I wish it were longer.

I haven’t even scratched the surface of what’s available out there. But I hope this is a good starting point for other interested people.

And I’ll finish with a fortune cookie. Here’s the man page description:

FORTUNE(6) – print a random, hopefully interesting, adage

The Least Successful Collector

Betsy Baker played a central role in the history of collecting. She was employed as a servant in the house of John Warburton (1682-1759) who had amassed a fine collection of 58 first edition plays, including most of the works of Shakespeare.

One day Warburton returned home to find 55 of them charred beyond legibility. Betsy had either burned them or used them as pie bottoms. The remaining three folios are now in the British Museum.

The only comparable literary figure was the maid who in 1835 burned the manuscript of the first volume of Thomas Carlyle’s “The Hisory of the French Revolution”, thinking it was wastepaper.

— Stephen Pile, “The Book of Heroic Failures”

Pie bottoms…

Comments