How To Hack — The Ultimate List | If you are completely new to hacking

HowToHack Board Guidebook

Other programming learning resources

HowToHack — The Ultimate Guide

If you are completely new to hacking please read the following pages of our wiki:

Getting started


Getting Started — A MUST READ

How important is Programming

Which Operating System shall I use?

Communication / IRC / I want to talk to you

Programming learning resources

・ Sugaya Laboratory

・Rosetta Code

Programming examples in various languages

・ Programming with R











What OS do you recommend?

The best operating system, would be the one that best suits your needs and skillset… [Thanks to ps-aux]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lcxfo).


Windows is a perfectly fine operating system… I use a windows machine for gaming and GUI related things since I am not a huge fan of GUI on the linux world… With windows you can easily download an SSH client like Putty and log in to a linux terminal to use linux security tools like nmap and so forth… [Thanks to ps-aux]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lcxfo).

Linux Thanks to ps-aux. This site covers topics needed for Linux software certification exams, such as the RHCE, and many computer training courses. Thanks to LucidNight. Linux CLI cheat sheet! Thanks to Gradivus42. Unix Toolbox — great collection of tips for Linux Sysadmins. Thanks to rushone2009.


Note you that Archlinux is looking sexier every release! [Thanks to ps-aux]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lcxfo).


[Thanks to ps-aux]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lcxfo).


BackBox is a Linux distribution based on Ubuntu. It has been developed to perform penetration tests and security assessments. Designed to be fast, easy to use and provide a minimal yet complete desktop environment, thanks to its own software repositories, always being updated to the latest stable version of the most used and best known ethical hacking tools. [Thanks to rushone2009]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lvz54).

Damn Small Linux

Damn Small Linux and put Back box Repository on it. [Thanks to rushone2009]( r/HowToHack/comments/1atc91/question_about_linux_distros/c90m16b).


I use FreeBSD on most of my machines and think it’s an excellent choice. The main differences you’ll encounter are:

  • File structure (BSD distinguishes when things go in /, /usr, and /usr/local, while most Linux package managers seem to just chuck everything in /usr and /etc)
  • Building from source (While there is a binary package manager for FreeBSD, it’s not used by many people. The BSD Ports collection is a much more common location to get your software from)
  • rc.d, the BSD startup system (Linux distros seem to differ on how they start daemons. They generally have either systemd or an rc script somewhat similar to BSD’s. In FreeBSD all daemons are managed from /etc/rc.conf or /usr/local/etc/rc.conf, depending on the daemon in question)

While there isn’t quite as much software that will run right out of the box on BSD, I tend to find the system well organized, and it usually isn’t hard to coax source into compiling. You’ll get a lot of command line experience quickly, and it’s nice working on a system with native ZFS support. [Thanks to nuclear_spines]( r/HowToHack/comments/19xl0b/bsd/c8stcvj).


Personally I really enjoy gentoo. It has excellent tutorial on hardened gentoo. Which is where you secure your kernel (pax) against exploits and apply context to security (think selinux.) [Thanks to ByAnyMeansIDesire]( r/HowToHack/comments/1atc91/question_about_linux_distros/c927bnb).

Linux From Scratch

It look me a couple of days on and off after to work. Definitely learnt a lot. I tried doing BLFS, but it seemed to be a bit hard and I kept getting a lot of errors. I would like to give it a shot again considering I’ve learnt a lot more about linux since then. [Thanks to nevertherym]( r/HowToHack/comments/19auno/welcome_to_linux_from_scratch/c8raei5).

If you are feeling very adventurous you could try There you could compile your own distro. [Thanks to seraphrunner]( r/HowToHack/comments/1atc91/question_about_linux_distros/c90mgb4).

I compiled LFS a couple years ago. I learned a lot about compiling software from source, the Linux file system, and compiled the Linux kernel for my first time. I wish I would have waited until I was somewhat familiar with the C programming language though. Some of the steps make more sense if you know a little bit about C. [Thanks to numbquil]( r/HowToHack/comments/19auno/welcome_to_linux_from_scratch/c93naen).


Ubuntu is fine… It’s quite bloated by default since it’s a great starter linux and has a new wide community supporting it… [Thanks to ps-aux]( r/HowToHack/comments/196feb/os_that_you_prefer/c8lcxfo).

Further to this, if you’re used to Ubuntu and want to get rid of some bloat, try lubuntu.


How important is to learn programming?

There is no given amount to learn of programming. It’s honestly as much as you want to learn. I mean generally, it’s important to learn the basic syntax; functions, loops, etc. etc. So just learn to be able to make semi complex programs. Going beyond a hello world for example. But going into the hacking side of programming (usually reverse engineering) is pretty difficult. So it’s not something you will become godly at in a week. Thanks to [deleted].

It depends on what type of hacking you’re looking to get into. You should know the basics (classes, loops, functions etc.), so you can at least read and understand what something does even if you don’t know that specific language. Personally, my strongest language is C++ but I can fairly easily follow Java/VBA/C#/C/PHP code. The basics are all the same it’s just a matter of syntax at that point. Also be able to write at least basic shell scrips in Linux. Thanks to AcBlind.

The answer to your question depends on what kind of hacker you would like to be. Hacking is a complex process that involves a lot of different skill sets: target research, network scanning and enumeration, social engineering, server and OS vulnerability analysis, and coding. If your primary interest is programming, you may be a malware writer/analyzer. If your main focus is operating systems, you may be more of a penetration tester. If you’re good with people, you can be a social engineer. It just depends on what you like to do and where you want to focus. Thanks to WilliamFingShatner.

Learn as much as you can or at least have ample understanding with as many as possible for reading/following purposes… This makes discovering/understanding exploits much easier in the long run… Thanks to ps-aux.

Programming is not super important to do all hacking… Plenty of hackers out there who can’t program and can still find vulnerabilities and exploit them… Thanks to ps-aux.

Learn as much as you can or at least have ample understanding with as many as possible for reading/following purposes… This makes discovering/understanding exploits much easier in the long run… Thanks to ps-aux.

Programming is not super important to do all hacking… Plenty of hackers out there who can’t program and can still find vulnerabilities and exploit them… Thanks to ps-aux.

Programming is not always a major part of “hacking”. It really depends on what you want to get into and were you want to end up. There are more way to crack passwords then brute forcing. Might want to look up rainbow tables and dictionary attacks. You`ll be using dictionary attack the most. Thanks to 454Satan.

Impossibly question really. All programmers have their preference. C is in my opinion the best place to start. It’s not too complex, teaches you basic programming logic, and the basic syntax behind most programming languages. C++ is an extended C pretty much. The syntax though, is weirdly different, so it might throw you for a loop. So “hacking” wise, c/c++. Java is more secure. But just find one you like, and go with it. Thanks to [deleted].

ASM, C, C++, C#, VB, JS, JAVA, RUBY, PYTHON, PHP, MVC/OOP FRAMEWORKS (various languages), HTML, CSS, LUA, SDKS (various ones) the list can go on forever…. Each language is only as important to the code you are working with… Why think C when you are reading VB source code? Etc… Thanks to ps-aux.

It’s helpful to know html so you know how to follow the code when you view source to determine what other angles -or- forms you can go after for hacking… The website you picked to learn programming from is perfectly fine… I suggest you finish off with this: Html5/Css3/Jscript/Jquery(Ajax)/Php (maybe Ruby-on-Rails) Then you can move on to Python/C/etc for higher development and more towards exploiting non web if you choose… Thanks to ps-aux.

Programming learning resources

This isn’t a programming subreddit so we’re only pointing out basic material that may help you out while learning how to hack.

Coding!/exercises/0 Learn to code Thanks to stingrad.

Learning C

K&R’s The C Programming Language the definitive C book Thanks to kaden_sotek. Thanks to IamaRead.

Learning Solder Thanks to IamaRead.

Python's_Tutorial_for_Python_3 Non-Programmer’s Tutorial for Python 3 Learn Python The Hard Way Learn Street Thanks to KonVirus.

Learning Java Thanks to macleod2486. Thanks to amperages. Thanks to ps-aux . Thanks to ps-aux .

/r/java Thanks to ShredThePlan3t.


Could you point out some useful resources to start?

Hacking jargon Thanks to jdude104. Thanks to frawk_yew. Thanks to frawk_yew. Thanks to frawk_yew.

Hacking learning resources OS concepts, Linux, C, ASM. Thanks to hacker_sam It has a lot of vulnerable operating systems and some have scenarios. It also has solutions that show you step by step walkthrough.Thanks to d1zzY. Security tools Thanks to stingrad. Shell Injection Thanks to ps-aux. Information Gathering Techniques: Dig and DNS Servers PentesterLab is an easy and great way to learn penetration testing. PentesterLab provides vulnerable systems that can be used to test and understand vulnerabilities. Thanks to IamaRead.

/r/HowToHack/comments/15q5xh/howtohack_tutorial_setup_backtrack_5/ HowToHack Tutorial: Setup BackTrack 5 Thanks to BinaryTENSHi.

Networking learning resources Stanford’s networking course. Thanks to bloco. University of Washington’s networkign course. Thanks to bloco. OSI Model Thanks to WilliamFingShatner. TCP/IP Model Thanks to WilliamFingShatner.

Cryptography learning resources Stanford’s Cryptography course. Thanks to bloco. Password security: past, present, future Thanks to ps-aux. Great explanation of how encryption works on the internet Thanks to maximo66.

Hacking challenges and tutorials Lots of challenges. Thanks to d1zzY. Simpler challenges. Thanks to d1zzY. Thanks to chrswalks. Thanks to ynori7. Thanks to ynori7.

Hacking and security news Hacker news Thanks to stingrad. Security blog. Thanks to hacker_sam Security blog Thanks to hacker_sam Security concepts. Thanks to hacker_sam and Thanks to stingrad. This weekly video-podcast talks about recent hacks and HOW they were made and other net-security related issues. Thanks to rickisen.

Go on Youtube and look up some talks that were made during DEFCON. You’ll find plenty of videos. Thanks to THEUSERNAMETAKER.

Other subreddits

/r/netsec Security subreddit Thanks to hacker_sam

/r/hacking Thanks to Spherius.

/r/netsec Thanks to Spherius.

/r/infosec Thanks to Spherius.

/r/blackhat Thanks to Spherius.

/r/openhacker Thanks to Spherius.

/r/lowlevel Thanks to Spherius.

/r/socialengineering Thanks to Spherius.

Other communities a forum for people interested in “hacking” mainly with the linux distro backtrack 5. just make an account its free, there’s a sub-section of the forum for “total beginners” I’ve made a lot of threads on there for great books and things to get started with. Thanks to Velzok Finding a Hackerspace Thanks to IamaRead.

Cracking (NOT hacking!) Thanks to ColdTitanium. Thanks to ColdTitanium.

Useful Links

Source: @medium Sonne Reisfeld


Nice archive thank you

Thank you for that

1 Like

Great information. Thank you.

Friendly Websites