In this section of the course,
we're going to be talking about the basics of scripting
and how you can create your own scripts
during your penetration tests and engagements
to automate some of your workflow.
Now, scripts are an essential tool for scanning our networks
and automating various attacks,
and this makes them important
for meeting our penetration testing goals.
They can help make complex tests simpler
and ensure that our security checks are both
thorough and precise.
Now, our focus in this section will be centered around
domain two, reconnaissance and enumeration,
and we'll be focused on objective 2.3, which states
that given a scenario, we should be able to modify scripts
for reconnaissance and enumeration.
Now, as we jump into this section,
we're first going to be discussing a brief overview
of different shells and programming languages
so you understand exactly what they are
and why we might use each of them.
Then we're going to discuss all the different scripting
and programming languages that you might need
to understand in order to read and analyze code.
Now, as we move throughout this section of the course,
we're going to be covering these concepts using something
known as pseudocode.
Now, pseudocode is a plain language description
of different steps in an algorithm or another system,
and essentially pseudocode is going to use a structural
convention like a normal programming language would,
but it is intended for us as humans to be able
to read it instead of having a machine read it.
This means that the code example is you're going to be seeing
in this section of the course are not actually functional
for use with a real scripting
or programming language like Bash, PowerShell, Python,
Ruby, Perl, or JavaScript,
but instead it's a made up language
so you can better understand the programming concepts
that we're going to be discussing.
Using the pseudocode, we're going to be covering everything
you need to know about variables, loops,
logic control structures, data structures,
and the basic concepts of object-oriented programming.
Finally, we're going to take a short quiz to see
what you learned during this section of the course,
and we'll review each of those quiz questions fully
to ensure you can explain why each answer was right
and why the wrong ones were wrong.
By the time you're finished this section of the course,
you're not going to be an expert programmer by any stretch
of the imagination, but you should be able
to at least read a basic program in just about any language,
and then understand some of the key components
because the pseudocode that I'm going to be teaching you
is generalized, so you can apply it
to any programming language you may come across
when working out in the field.
Alright, whenever you're ready, let's go ahead
and get started on this section on scripting basics.