- My advice is don't be a script kiddie.
Learn how to code.
Learn how to use Python
because that gives you a lot of power
to do many, many things,
opens up a lot of doors for you.
In this video, I'm gonna show you how to use
a simple Python script to get all the WiFi SSIDs,
or the WiFi names if you prefer,
and the passwords for all the WiFi networks on a computer.
I'm gonna show you how you can use a few Windows commands
to list all the WiFi SSIDs on a computer
and then how to retrieve the password of a WiFi network.
But then I'll show you how to use a very simple
Python script to basically extract all that information
and show it in a nice format.
Okay, let's get started
and I'm gonna show you why you should learn Python.
If you wanna be an ethical hacker,
it really opens up a lot of doors for you.
(electronic music)
Okay, so on my Windows computer,
I'm gonna open up a Command Prompt.
In this case, I'll go to the downloads directory
because in this directory,
I've got a little Python script
called get_wifi_passwords.py.
This little script is a script
that I'm gonna concentrate on in this video,
but I've also created additional scripts
where you can get all the WiFi passwords
and email it to an email address,
or copy the WiFi passwords to an HTTP server somewhere,
on the internet as an example.
But this is the one that we're gonna concentrate on.
Before we do that,
let's look at some basic Windows commands.
This is not Python.
This is just commands running in Windows.
So netsh wlan show profiles.
This shows me all the WiFi profiles stored on this computer.
If I click on the WiFi icon,
notice I'm connected currently to this WiFi network,
but other WiFi networks are also listed here.
Now, before we continue,
everything that I'm showing you here
is happening on my local network.
Do not do anything that can get you into trouble.
Be an ethical hacker
and help companies better secure their networks.
So in this example,
everything is being done on my local laptop.
I own all the infrastructure and all the networks
that I'm gonna demonstrate here.
I'm not trying to connect to someone else's network
and hack them.
I'm demonstrating why you need to be careful
with network security,
why you need to learn Python
to help companies better protect their networks.
So this video is for educational purposes only.
Please make sure that you educate yourself
and use this knowledge
to help companies better secure their networks.
We need to try and combat attacks
like the recent attack on SolarWinds.
Because of security issues in their network, they got hacked
and that affected many, many other companies.
Be careful with security.
It's sometimes just too easy to break into companies
or to get information that hackers shouldn't be getting.
So learn how to protect networks.
So once again, I own these networks.
This TP-Link network is actually a little WiFi router
that I've got behind me.
So all of this information is just test networks
that I'm using to demonstrate the power of Python
and the power of knowing a little bit about coding.
Okay, so we can use the netsh wlan show profile
and look at a profile
to see information about a WiFi network.
So there's the command once again.
We can see information about it such as the name.
It's a Wireless LAN.
Connection mode is connect automatically.
There's some other information here,
but this is the piece that we're most interested in.
This tells us that a security key is present.
And what we wanna do is get Windows to show that
in clear text.
So this command netsh wlan show profile
whatever the WiFi network is.
So this is the SSID or the name for the WiFi network.
Key=clear will allow us to see the password.
And then you go.
That is the password of the WiFi network.
That WiFi network is once again a little TP-Link router
that's right behind me.
So on this router,
there's the SSID or name of the WiFi network.
There's the password.
By simply using this command on a Windows computer,
I was able to retrieve the password of that SSID
or that WiFi network.
Okay, but let's use Python to automate this process
because we don't want to
have to do that command for every network.
And I'll just clear the screen.
So as an example,
we could look at the password for this network,
mysecurewifi,
and you can see that there's the password,
youcannotgetaccess! or bang if you prefer,
but let's use a Python script
to show all of the all the SSIDs, all the WiFi networks,
and all the passwords.
Now, before I go through the whole script
in a lot of detail, let me show you what it actually does.
So dir in downloads directory.
This is the script.
So I'm simply gonna run Python.
And what I'm gonna run is get_wifi_passwords.py.
And there you go.
There are all the SSIDs
and all the passwords stored on this Windows laptop.
I'll clear the screen and I'll run it again,
python get_wifi_passwords.py,
and notice there is the password for the TP-Link router.
There's the password on this network.
And you can see the information for the other SSIDs
or wireless networks and all their passwords.
These are just test networks
that I've created specifically for this demonstration,
but it's as simple as that
to get the passwords on a Windows computer.
So now let's look at the code.
Okay, so here's the Python script.
First thing we're gonna do is import subprocess.
This will allow us to use system commands.
Then we're gonna import re
which allows us to use regular expressions.
Regular expressions are used in many, many places.
It basically allows us to search for a specific text
in some output and then do something.
Now, rather than trying to copy all of this down,
note that I've put a link to GitHub below this video
so that you can download the script,
but you use it at your own risk,
and please be aware that this is supposed to teach you
ethical hacking principles
and shouldn't be used to hack other people's networks.
Don't go to jail. Don't get into trouble.
Use this for ethical hacking purposes only.
Now, what you'll notice here
is I've put a lot of documentation in the output.
So I'm not gonna try and explain every command
in a lot of detail
because it's all documented in the script.
But notice here as an example,
we are running the subprocess command
and we're running netsh wlan show profiles.
That's as if we had run this command.
So we're running that command basically in Python
and then we're gonna capture the output and decode it.
And then what we're gonna do is use a regular expression.
Notice re.
We're going to look for entries that say all user profile
because that's what's in the output.
We are looking for that.
And we're gonna grab all the profile names
and store that in a list.
So we create an empty list.
And then if the profile name does exist,
for every name in the profile name,
we're going to create a dictionary.
And then we're gonna run
the netsh wlan show profile and the name
and look to make sure that a security key is found.
If a security key is found,
we are going to run the command
that shows us the security key information.
So again, we're running this command to see the profiles,
then we're running this command for every profile name
to make sure that a security key is present.
And if it is present,
then we're running this command setting the key to clear
so that we can find the actual password.
So notice there you can see key=clear.
We wanna run that.
We wanna capture the output and decode it.
We wanna store that information.
We are looking for the password.
If the password is set to none,
we'll say the profile password is none.
Otherwise, we'll specify the password.
And then we're gonna basically run through the WiFi list
and print this in a nice format.
So again, if I run the script,
it basically gives us this output.
So there you go.
In a few lines of code,
and most of the script is just comments
trying to explain what the code is doing,
I was able to retrieve all the SSIDs on a Windows computer,
all the passwords, and then display them on the screen.
Now, you can extend the script
and email the passwords to use yourself
or copy them to a server.
I'll put a link to that code below this video.
That code is available on my GitHub.
I won't go through that in this video
because I don't wanna get into hot water.
So that code is available.
Again, use it only for ethical hacking purposes
or for educational purposes.
Don't get into trouble. Don't go to jail.
Okay, I hope you enjoyed this video.
I just wanted to show you why it's important
to implement good security on a network.
Don't just open some file that someone sends you
as an attachment on an email,
because that could run a piece of code
that could get all the WiFi passwords
and then email them to someone.
So be careful which applications you run.
In this example, I'm running raw Python.
In a separate video, I'll show you how to take Python code
and wrap that as an executable
so that you can just run an app if you like on a computer
rather than running raw Python.
Don't be a script kiddie.
Learn the power of programming.
Learn how powerful this is.
It'll change your life if you can write a bit of code,
opens up so many doors for you.
Okay, I hope you enjoyed this video.
If you did, please like it.
Please consider subscribing to my YouTube channel.
Please click on the bell to get notifications.
I'm David Bombal.
I wanna wish you all the very best.
(electronic music)