I just started off with Linux, how should I learn?

Dert

New member
A short preface:
I am a student from England, I have been taking Computer Science and have a good knowledge of Python. However, I am interested to learn more about programming and penetration testing, so I am learning C and Linux.

I've had a dualboot set up with BackBox for a few days now in order to learn how the system works, however it's quite complex to me. I have a book (The C programming language second edition) in order to help me learn C yet I don't know where to start with Linux. Any help?
 

c0nvct

New member
HI... Here are a few suggestions for you to look at...

Obviously, number one is to get your head around the Linux command line. You can test using GUI's but the power is on the terminal. Especially as a Python coder, you'll be able to automate various programs and make cool scripts. So look for some Linux administrator tutorials.

There are a lot of linux operating systems - in fact, Linux is actually just the Kernel... then layered upon that are various open source software. The package management (software installers) are varied. But, and this is very general - Debian's Apt package management and Red Hats Yum package manager are two of the most popular.

Kali is built upon Debian, as is Ubuntu, ParrotSec and hundreds of others. Be aware. Mostly, under the hood, Linux are very similar, learn the file system, its very different to Windows.

Get yourself Virtualbox installed, you'll need a lab for testing. Fortunately, the security community are great with the free love, so you already have Backtrack/Kali installed... there are other Pen testing systems out there, I'm playing around with ParrotSec, another Debian based distro. There are some ready made systems created with vulnerabilities built in to exploit. Now, security is a huge subject. Servers, routers, networks, firewalls, websites.... it's easy to get overwhelmed, so, here is something to focus you.

Checkout Metasploitable 2/3 - a Linux OS you can run as a virtual machine to target. You'll be able to make virtual networks that'll allow you to packet sniff, machines to port scan all all that fun stuff. A important tool is called Metasploit (Ruby framework of exploits) - there are ton's of tutes out there.

OSWASP is another learning aide, this time it provides a web application to test agains with other tools in your arsenal.

Get on to YouTube and search Defcon - see what people are doing.

https://www.cybrary.it/
https://pentesterlab.com/
https://www.offensive-security.com

Good luck!
 

sxiii

New member
Hey @Dert! As I think recent posts was already useful for you; but if I were you; I would start like this:

1) Find some books that are on level you like and buy them (yes; paper books)
2) Read them and in the same time start testing some distros. Get used to distrowatch (dot com). Continue to read books
3) Join IRC; Riot and other developers chats and make use of ubuntu questions/stack overflow/and similar websites. It will help a lot.
4) Kali linux and metasploit are your one-stop shop for pentesting. Learn them.
5) As for linux, you're free to continue your distro hopping or stop somewhere if you find a distro that suites you mostly.
6) You can test your skills with metasploitable or similar vulnerable software packages or even distros like Damn Vulnerable Linux; OWASP etc. etc.)

Hope this helps; good luck!
 

fletcherlynd

New member
Aside from the K&R book you got (which is the bible of C, of course, but not so easy to grasp for many beginners), I would recommend another couple of books useful both as reference and as a different way of learning:

C Programming: A Modern Approach, by K. N. King
Learn C the Hard Way, by Zed A. Shaw

The distro suggestions you were given are fine. Having Virtualbox installed would help you distro hopping a lot in order to try out many different flavours and find the one that suits you best, but obviously performance gets a hit. With dual-booting no problem about performance but you are usually "stuck" with the choice you made at the beginning, sure, you can install any operating system at any time, but it's really time consuming and tiring, especially when Windows decides to wipe the MBR preventing you to boot into Linux for instance).
An idea that solves both the dual-booting and hypervisor "problems" is to get a USB stick and install multiple live distros, in that way you won't have any hypervisor in the way to slow you down nor Windows giving you headaches :)
Check out YUMI for instance:

https://www.pendrivelinux.com/yumi-multiboot-usb-creator/

Then you'll be free to try and learn as much or as little you want. For instance, in place of Debian/Ubuntu and then Kali, you could follow the path: Archlinux and then Black Arch.

Well, at the end of the day is a matter of taste. What I would suggest you is to take things slowly and not get overwhelmed, a step a time is the way to go, especially if you intend to master a programmaing language as well as pentesting.

Hope this helps!
 

davidvpn

New member
First, learn off the command line of linux. This is how I learned.

It is called bash, and before doing any coding on linux you need to learn how it works.

The file structure and all of that shit
 

SeductiveWalrus

New member
While I do not have this game, I did see someone on this forum be referred to a game called Hacknet. "Why, what is this Hacknet you speak of?," you may ask. Well, Hacknet is a very immersive game about hacking into both servers and personal devices. It uses real Linux and Unix commands and is, for the most part, technologically accurate. While there are some obvious differences between this game and real life, it's a good starting point. It obviously cannot replace a formal education in Linux and offensive security, but it still helps beginners. As I said, I don't own this game, but have watched hours of game play. I do have an interest in cyber security, but I'm also into this game because it's just plain fun. It puzzles you and sometimes puts you under pressure, and its cool to see just how you perform in what is essentially a hacker simulation.
 

Drcool

New member
This may be more basic than you need.

Bash is the common language of the terminal in Linux. A quick google search for your distro, bash free tutorial should help you learn the language of Linux.

Example: Debian 9 Bash free tutorial.

Good luck and have fun.
 

Bestwell

New member
One of the quick and fun way to learn Linux and penetration test is via Udemy video courses.

You can get great deal and even free course from here: udemycoupon.learnviral.com.

My personal favourite is "The Complete Ubuntu Linux Server Administration Course!" by Shinde Prashant.

Hope you have fun and all the best!
 

jw7103

New member
I found some good Linux tutorials on Google. One of the best sites I have found is howtoforge. They give step by step instructions on how to install all different types of software set-ups in many flavours of Linux Distros. I have used some of them to install test servers on old equipment at home and they are pretty good.
 

Drcool

New member
In general, figure out how you learn best. I learn best by doing (kinestetic learner).


Think of a project you would like to accomplish and then research how to troubleshoot issues.
An easier solution is to start with a tutorial and then work on your own personal project.
 

itshyzune

New member
Well there are a few ways to get to know linux better. The terminal is 100% needed and you should get in touch with it.
Get in touch with youtube tutorials and set yourself a goal to reach. Like a mini project. And from that one you take one step after another.