Module 06 - Network Penetration Testing Methodology-Internal
Module 06 - Network Penetration Testing Methodology-Internal
Service enumeration
Password audits
Vulnerability Assessment
OS pentesting
Privilege Escalation
Scenario
Both internal and external network attacks are conducted in almost the same way, except for the
fact that in case of an internal pen test; the attacker may possess authorized access or is starting
from a point within the internal network. Such insider attacks tend to be more disastrous since
the attackers already have the knowledge of the essential ones within a network and their
location.
As a penetration tester or a Security Auditor, you must know how to enumerate target networks,
users, services, perform vulnerability assessment, exploit vulnerabilities, extract as much
employee data as possible, and attain escalated privileges to the target.
5. In the passive option, targets are generated slowly. It takes a lot of time to display the
result. To save time, you can create your own traffic by doing a ping sweep using nmap
which is demonstrated in the next step.
6. In a new terminal window, enter an nmap ping sweep to generate traffic. To do a ping
sweep, type nmap -sn 192.168.0.0/24 and press Enter.
7. Switch back to netdiscover window to view the output
8. At times, some machines may not be discovered due to reasons such as the existence of a
firewall or some other filter. At such situation, you may use a Transmission Control
Protocol (TCP) scan to confirm the existence of the new machine. To perform a TCP
scan, enter the command nmap -sT 192.168.0.0/24.
9. Note that you have not scanned all 65,536 ports, which is preferable. Depending on the
target machines' settings, access to and data obtained from this machine may be limited.
Upon scan completion, switch back to netdiscover window to view the output. In this lab,
the netdiscover output remains the same, as no new machines were discovered during the
nmap scan.
10. If stealth is not part of the scope of the test and a passive scan is unnecessary, an active
scan is the best choice. To discover targets, use Netdiscover as a scanner. To search for
the network for targets, exit the current netdiscover scan, type sudo netdiscover -i eth0 -r
192.168.0.0/24 in the terminal window and press Enter. If you are asked to enter a
password, enter toor.
11. The targets will be displayed on the screen after some time, as shown in the screenshot.
(To speed up the process, you can run a nmap ping sweep scan.)
12. This new method validates your live and target machines. This concludes the lab
exercise.
6. The first command will send a simple Internet Control Message Protocol (ICMP) echo
request to a target. Select one of the available targets you have discovered and enter the
following command, replacing the IP address with that of the machine you are targeting.
In this lab, we are targetting 192.168.0.7. So, type hping send
{ip(daddr=192.168.0.7)+icmp(type=8,code=0)}. Press Enter. This command will send an
ICMP type 8 code 0 echo request to a target, as shown in the screenshot.
$sudo hping3
hping3> hping send{ip(daddr=192.168.0.7)+icmp(type=8,code=0)}
7. If the ICMP echo request is not visible, verify it by opening a new terminal window; type
sudo tcpdump –i eth0 and press Enter. If you are asked you enter a password, type toor
and press Enter. This will capture the network traffic. Run the command again and watch
the output of the tcpdump command.
8. Start a query using the scripting capability of the TCL language. The basic syntax is easy
to use. In the hping3 terminal window, type the following command (all on one line) and
press Enter:
hping3> foreach i [list 5 6 7 8 9 10] {hping send
"ip(daddr=192.168.0.7,ttl=$i)+icmp(type=8,code=0)"}
This command will set the time-to-live (TTL) at 5, and then increment it by 1 when it sends an
ICMP echo request. The output will take time to appear; you may run tcpdump and capture it by
entering sudo tcpdump –i eth0 –x –vv | grep ICMP, as shown in the screenshot.
while 1 {
set p [lindex [hping recv eth0] 0]
puts "[hping getfield ip saddr $p] -> [hping getfield ip ttl $p]"
}
10. The command shown above will help loop and receive packets until you press Ctrl+C to
stop the loop.
Enter the commands exactly as shown above to keep the codes valid. To scroll
through the packets view, open a new terminal window and ping a target by
typing ping 192.168.0.7, as shown in the screenshot.
11. Using your chosen text editor, type “You are under attack!” and save the file as
attack.sig in Home folder.
12. The hping3 tool allows users to send messages. Accordingly, send the message as a
string. Open a new terminal window, type sudo hping3 -2 -p 500 192.168.0.7 -d 139 -E
attack.sig, and press Enter. Type toor in the password field and press Enter. This will
send the packet to port 139 from port 500.
13. Use Wireshark to view the packet information. In a new terminal window, type sudo
wireshark press Enter. If you are asked to enter the password, enter toor.
14. Wireshark GUI appears, select eth0 interface.
15. The window shows the Internet Security Association and Key Management Protocol
(ISAKMP) traffic, as you are using User Datagram Protocol (UDP) port 500. The lower
window also shows that the message you specified is carried within the packet.
16. The message in the packet can also be displayed using tcpdump: Type sudo tcpdump –i
eth0 –nX in the terminal window. If you are asked to enter the password, enter toor.
17. Scan a target using hping3. Open a new terminal window and enter sudo hping3 –scan
known 192.168.0.7 -S. This command displays the list of open ports/services running on
the target.
$sudo hping3 --scan known 192.168.0.7 -S
18. Hping3 is a powerful scanning tool that, in the previous example, only showed the known
option for the ports listed in /etc/services. Next, specify a range to scan. In the terminal
window, enter sudo hping3 –scan ‘0-3000’ 192.168.0.7 –S, as shown in the screenshot.
21. Create an ICMP packet to send as a file to the listening hping3 window. This could be
accomplished across the machines by simply changing the IP addresses. For the purposes
of this exercise, a loopback address will be used instead.
22. In the second terminal window, type sudo hping3 127.0.0.1 –icmp -d 100 –sign
signature –file /etc/passwd. Enter toor as password if asked.
23. The file contents begin to appear in the first terminal as shown in the following
screenshot:
24. The file has been transmitted successfully. Note that this could be any ASCII file and the
process can be used for a number of different actions. This concludes the lab exercise.
5. The output can be made into an XML format by adding “X” to the output option. This
requires converting the output to HTML. Prior browsers could render the XML format,
but this not reliable, since most browsers no longer allow such rendering owing to
security settings.
6. Convert the file to HTML using the xsltproc command. Enter xsltproc -o
~/scanresults.html /usr/share/nmap/nmap.xsl scan.xml.
7. An example of the XML-formatted output is shown in the screenshot.
8. The XML format is a good choice for preparing and creating the database.
9. Next, populate the target database. For this, the following database information is
required:
Host/IP
OS
Ports
Services
Vulnerabilities
Exploit
Notes
Priority
12. From this point forward, create a target database for every opportunity, range, or
environment.
13. This concludes the lab exercise.
Exercise 4: Using Workspaces and db_nmap
Scenario
In this lab, you will
4. After the database is launched, type sudo msfdb init press Enter. Enter the password toor
if you are required to. The msfdb init command initializes and creates the PostgreSQL
database for Metasploit.
$sudo msfconsole
7. To find out the status of the database, type db_status in the terminal window, as shown in
the screenshot.
msf>db_status
8. The Metasploit tool has different workspaces; type workspace -h to see the different
commands available for the workspace. Once you have reviewed them, continue.
msf>type workspace -h
9. Create a workspace for your data by typing workspace -a LPT. You now have a
workspace setup. You are ready to use the built-in Nmap database within Metasploit.
msf>workspace -a LPT
10. Next, use the tool to conduct the scanning methodology. Enter: db_nmap -sP
192.168.0.0/24, as shown in the screenshot.
msf> host
17. Because of the virtual environment, you may not receive the most accurate data.
Additional analysis is needed to better clarify the targets.
18. Enter host -h to see the different available options. Query the “hosts’” command to
display only the IP address and OS type using the “-c” switch.
19. Type hosts -c address,os_flavor and press Enter, as shown in the screenshot.
20. Note that you can also search all entries for a specific target. If you wish to find only
Linux-based machines from the scan, use the “-S” option. This option can be combined
with our previous example to fine-tune the results. Type hosts -c address,os_flavor -S
Linux.
21. Next, import the results of the scans into a Metasploit Module. Type use
auxiliary/scanner/portscan/tcp and press Enter.
22. Input the data into the scanner by using the R option; type hosts -c address,os_flavor -S
Linux -R and press Enter, as shown in the screenshot.
>show options
24. Once you are ready, type run and press Enter. The scan will be conducted against the
target added to the database, as shown in the screenshot.
25. You have diverse search options; for this, type: services -c name,info -S http and press
Enter. This will search the hosts for services with HTTP in the name.
26. There are many combinations for searching. You can use specific ports or port ranges, or
the full or partial service name when using the “-s” or “-S” switches, as well as for all
hosts or a select few. However, you may need to experiment with these features in order
to obtain the desired results.
27. As you have seen in this exercise, we have many options to work with when using the
database capability within Metasploit; therefore, you are encouraged to research on your
own.
28. This concludes the lab exercise.
• Fingerprint the OS
• Compare different scan options
• Analyze the tool output
9. You are now viewing a banner grab as well as port scan, as shown in the above
screenshot
10. If there is time, continue using the tool and explore more options.
11. This concludes the lab exercise.
5. This process is used to extract the banner of any port, provided you change the number of
the connecting port
6. For a more robust type of banner grabbing tool, you can refer to the following code:
#/usr/bin/python
Import socket
Import sys
Import os
$cd /usr/share/metasploit-framework/lib/rex/proto/http
5. Enter ls -lx
$ls -lx
6. All these files contain a variety of HTTP methods, which include functions to set up a
connection, the GET and POST request, and response handling.
7. To open the module, navigate to Places, select File System, and navigate to
/usr/share/metasploit-framework/modules/auxiliary/scanner/http. In the HTTP
folder, scroll down and right-click on http_version.rb, and then click on Open With
Pluma from the context menu.
8. Carefully review the information. Next, explore mixin. Once the review is done, close the
text editor window.
9. Navigate to Places; select File System and navigate to /usr/share/metasploit-
framework/lib/rex/proto/http. In the http folder, right-click on client.rb, and then click
on Open With Pluma from the context menu.
10. This is the code for the mixin; there are the routines that you will need for handling the
sockets in order to conduct tasks to extract the data from the site.
11. An example of an excerpt of the code is shown in the screenshot:
13. Once you have reviewed the file, close all open windows. As the class shows, you have
covered most requirements when acting as a client for a web server.
14. This is the process you should follow when you are working as a practitioner and
professional security and penetration tester. Always investigate the code that is being
used BEFORE you ever deploy it on a site.
15. This concludes the lab exercise.
5. In the terminal window, type nmap –sC 192.168.0.7 and press Enter.
6. The output of the command in step 5 reveals more details than that of the command in
step 4. The scan may take approximately 5 to 10 minutes complete.
7. Add the “d” option to the command to show the debug trace, as shown in the screenshot
illustrating the output.
8. As the ERROR shows, the login attempts fail. This result is common when dealing with
newer Windows systems.
9. If you add the XML output capability, the information can be displayed on a graphic user
interface (GUI) in an easy-to-read format for documentation
Exercise 11: Pentesting Misconfigured RPC Service and
NFS Shares
Scenario
Network File System (NFS) is a client/server application which allows you to view or share files
and folders between Linux/Unix systems. It is a way of mounting Linux discs/directories over a
network. RPC server is a program which accepts connections from an RPC client and provides
services to the client.
Poor configuration of NFS and RPC services might allow attackers to:
First, find the NFS and mountd services running on a computer, using rpc
Second, mount the NFS shares and view the contents in the mounted directories
As a pentester, you need to know how to enumerate RPC services and mount poorly configured
servers.
$rpcinfo -p 172.19.19.51
7. We observe that nfs and mountd services are active on the remote machine.
8. Now, we shall issue the showmount command to discover NFS shares listed in
/etc/exports file of the remote machine. Type showmount -e 172.19.19.51 and press
Enter. This will display all the NFS shares on the remote machine as shown in the
screenshot below:
$show.ount -e 172.19.19.51
9. As we saw in the previous task, the /home file system was shared on the remote machine.
We will be mounting this file system on the Parrot machine to the mnt directory. To
mount, type sudo mount -t nfs 172.19.19.51:/home /mnt -o nolock and press Enter.
Type toor and press Enter when prompted.
note: -t specifies the type of the file system (nfs). Specifying
**nolock** disables the file locking.
$cd /mnt
11. Type ls and press Enter to view the files and directories contained in the /home folder i.e.,
/mnt.
12. As a proof of concept, we shall now view the contents of a secret.txt file located in the
administrator/Documents directory. Type cat administrator/Documents/secret.txt and
press Enter.
13. On entering the command in the previous task, the cat command displays the file contents
in the secret.txt file successfully, meaning we have successfully mounted the remote file
system and accessed the contents in it.
14. Now, we shall see if we are able to tamper/delete the files in the remote file system. Type
rm administrator/Documents/secret.txt and press Enter. Type y and press Enter to
confirm the deletion. To confirm that the file has been successfully deleted, type cat
administrator/Documents/secret.txt and press Enter. The terminal displays an error stating
no such file or directory has been found. This proves that we have unrestricted access to
the file system.
15. The reason we were able to access the remote shares is:
a. The entire subnet has been specified in the exports file, allowing everyone in that
particular network to access the file.
We were able to manipulate the files in the file system since:
b. no_root_squash option was enabled, allowing any user to perform read, write and
execute actions on the mounted file system.
This is just a proof of concept to show the reason for the vulnerability
and you are not required to log in to the machine to view the above-
mentioned file.
In this lab, you have learned how to enumerate RPC services and mount NFS shared directories.
1. Click @lab.VirtualMachine(RedHatEnterpriseLinux-SubnetC(ECSAv10)).SelectLink.
Type Admin in the Username field, password in the Password field and press Enter.
2. On successful login, Red Hat Enterprise Linux CentOS desktop appears as shown in the
screenshot. We are logging into the machine since Finger enumerates only the logged on
users.
3. Click Parrot. Parrot lock screen appears.
4. By default pentester is selected as the user. Type toor in the Password field and press
Enter.
5. In this lab, we are going to target the IP address 192.168.0.50 (Red Hat Enterprise Linux
machine) that was discovered during the ping sweep scan in the earlier lab exercises.
Finger protocol uses port 79, so, choosing CentOS as our target machine, let us perform
an Nmap scan on port 79. Launch a command line terminal, type nmap -p 79
192.168.0.50 and press Enter.
$nmap -p 79 192.168.0.50
6. You will observe that the port 79 is open in the Nmap result, meaning finger service is
running on the target machine.
7. Now, we shall enumerate the logged on users on the remote machine using Finger client.
Assuming we don't know the logged on username, type finger @192.168.0.50, and press
Enter.
$finger @192.168.0.50
8. Finger client returns the logged in user information such as the login name, name of the
user and login time as shown in the screenshot below.
9. Since we found the username, we shall use this to extract additional information such as
the name of the user, home directory, login name, and shell. Type finger
Admin@192.168.0.50 and press Enter.
10. Alternatively, we can enumerate usernames using Telnet service by issuing the following
command in the command line terminal: telnet 192.168.0.50 79
11. Type Admin and press Enter. This displays the enumerated user information as shown in
the screenshot below.
12. To safeguard your machine from returning the logged in user information, it is
recommended to disable finger service on the machine by editing the finger text file
located in the /etc/xinetd.d.
This is just a proof of concept to show the reason for the vulnerability and
you are not required to log in to the machine to view the above-mentioned
file.
At this point, attackers implement techniques such as arp poisoning/MITM to capture clear-text
traffic flowing between two machines in a network. MITM is a form of active eavesdropping in
which the attacker makes independent connections with the victims and relays messages between
them, making them believe that they are talking directly to each other over a private connection,
when in fact the entire conversation is controlled by the attacker. MITM attacks come in many
variations and can be carried out on a switched LAN. As a penetration tester, you need to know
how to capture plain text traffic in a switch-based network.
18. In the logon box enter the password Pa$$w0rd press Enter:
19. Click on the Close button at the top right corner of the Server Manager window.
20. Now launch a command prompt in the machine, type ftp 172.19.19.9 (IP address of FTP
Server machine) and press Enter. When prompted for the Username, type "Martin" and
press Enter. When prompted for the password, type "mystery" and press Enter.
21. Switch Windows Server 2019 machine. You will observe that Cain & Abel captured
some packets which can be observed under the Packets field.
22. Click the Passwords tab in the Cain & Abel GUI. Select FTP from the left pane under the
Passwords section. You will observe the credentials being captured by Cain & Abel as
shown in the screenshot.
23. This way, you have successfully captured user credentials traversing in clear-text. In this
lab, you have learned how to capture user credentials in a switch based network.
Password cracking is a term used to describe the penetration of a network, system, or resource
with or without the use of tools to unlock a resource that has been secured with a password. In
this lab, we will look at what password cracking is, why attackers do it, how they achieve their
goals, and what you can do to do to protect yourself. Through an examination of several
scenarios, in this lab, we describe some of the techniques they deploy and the tools that aid them
in their assaults and how password crackers work both internally and externally to violate a
company's infrastructure.
In this lab, being a security auditor, you will be running the L0phtCrack tool by giving the
remote machine’s administrator user credentials. User accounts' passwords that are cracked in a
short amount of time are considered to be weak, and you need to take certain measures to make
them stronger. The objective of this lab is to help students learn how to:
You can use the Type Password option from the Commands menu to enter the
password.
3. In this lab, we are going to audit user accounts on a machine to check for weak passwords
using L0phtCrack. To install L0phtCrack, navigate to E:\CPENT Module 06 Network
Penetration Testing Methodology-Internal\L0phtCrack and double-click
lc7setup_v7.1.16_Win64.exe. If an Open File -Security Warning pop-up appears; click
Run. Follow the wizard-driven installation steps to install L0phtCrack.
After clicking the Run Report Immediately button, a Warning pop-up window
appears. Click Yes.
18. To save this session, navigate to MENU icon at the top left corner of the window and
click Save Session option.
19. A Save Session As window appears on the screen. Select the destination location (here,
Desktop), specify the file name as Credentials and click Save. Now close the L0phtCrack
window.
20. To open the saved result, navigate to Desktop and double-click the Credentials.lcs file to
view result.
21. A L0phtCrack 7 - Trial reminder pop-up appears, click the Proceed With Trial button.
22. Now you can see the saved result in the L0phtCrack window.
23. Close all the open windows.
In this lab you have learnt how to extract the Administrators password using L0phtCrack.
9. Minimize the command line terminal and maximize the Leafpad window. The read
command allows you to read a line from standard input. It accepts the input from the
keyboard and assigns it to a variable. In this lab, we are using the read command to enter
the IP Address range on which we will be performing Nmap scan for live host detection.
In this lab, the variable used for addressing the IP Address range is ip_range.
10. Minimize the Leafpad window and maximize the command line terminal. As described in
the earlier steps, the screen is cleared and the mouse cursor is pointed at the top of the
terminal screen, followed by echo command. Type 172.19.19.7-50 and press Enter. We
selected IP range from 7-50 to ease the process and save time.
11. Minimize the command line terminal and maximize the text editor window. nmap -sP
$ip_range -oG out.txt: -sP is used to identify live hosts in the entered IP Address range.
$ip_range grabs the value (IP Address range) you entered in the read command. -oG
represents greppable output. It is a simple format that lists each host on one line and can
be trivially searched and parsed with standard Unix tools such as grep. Once the Nmap
scan is completed, its output is stored to out.txt file.So, by entering nmap -sP $ip_range -
oG out.txt, nmap is going to perform live host detection and send the greppable output to
out.txt file. You can view the out.txt file created in the root folder for a better
understanding.
12. The cat (in short "concatenate") command allows you to view contents of a
single/multiple files, create files, concatenate files and redirect the output to the terminal
or files. The pipe | redirects the output of cat out.txt to the grep command. The grep
command is used to search the given file (out.txt) for lines containing a match to the
given string (Up). So, by entering the script cat out.txt | grep Up > out1.txt: A search is
performed in the out.txt file for all the lines containing the status of the IP addresses as
Up and these IP Addresses are saved to out1.txt. You can view the out1.txt file created in
the root folder for better understanding.
13. The cut command is used to select a portion of text from each line of a file. You can use
the cut command to select fields or columns from a line by specifying a delimiter. By
entering the script cat out1.txt | cut -d " " -f2 > open.txt: The content of out1.txt is
redirected to the cut command, where the delimiter is " " (space). So, the field 2 will be
selected from each line of the out1.txt in between the spaces; and the output will be saved
to the open.txt file. For a better understanding, you may view the open.txt file created in
the root folder.
14. By entering the script nmap -p 21 'cat open.txt' -oG final.txt: Nmap performs a scan on
the IP addresses present in the open.txt file and saves the greppable output to the final.txt
file. You may view the final.txt file created in the root folder for a better understanding.
15. So far, Nmap has performed live host and FTP open port identification. The script cat
final.txt | grep open > ftp.txt is used to view the output stored in final.txt, find the lines
containing the string "open" and save those lines to a file named ftp.txt. You may view
the ftp.txt file created in the root folder for a better understanding.
16. So far, we have obtained machines which are up and have the FTP port open. Now, we
shall echo the IP Addresses of these machines on the screen. The echo "" represents an
empty line. In the next line, we are writing something stating that the scan has been
performed. This will be returned on the screen as we are using the echo command.
17. Note that our aim is to view only the IP Addresses in the file ftp.txt. To view only the IP
Address, we shall be using the script cat ftp.txt | cut -d " " -f2. Here, the field 2 will be
selected from each line of the ftp.txt file in between the spaces; and the output (i.e., only
the IP Address) will be displayed on the screen.
18. Now, minimize the text editor window and maximize the command line terminal. Nmap
has performed live host identification on the given IP Address range. Once the live hosts
are identified, the script is written in such a way, that a new nmap scan is initiated to find
the machines (among the identified live hosts) that have the FTP port open. The live
machines with the FTP port open are displayed as shown in the screenshot.
Screenshots may differ while performing the lab.
19. Minimize the command line terminal and maximize the text editor window. So far, the
above explained scripts are used to perform live host and FTP port identification. Now,
we shall use a machine obtained from the Nmap scanning; and perform dictionary attack
to crack user credentials which have weakly implemented passwords. Before that, we
shall use echo command to write some content related to the dictionary attack, for better
understanding.
20. As discussed before, regarding the read command, we shall use this command to enter the
target machine's IP Address. In this lab, the variable used for addressing the IP Address
range is ip_addr.
21. Minimize the text editor window and maximize the command line terminal. Since we
have obtained the machines whose FTP ports are open, we shall enter the IP Address of a
machine on which you would like to perform a dictionary attack to obtain FTP
credentials. In this lab, we are going to attack the FTP server of FTP Server whose IP
Address is 172.19.19.9. So, type the IP Address 172.19.19.9 and press Enter.
This performs a Dictionary attack on the machine's user accounts using
Hydra.
22. Minimize the command line terminal and maximize the text editor window. hydra -L
/home/pentester/Wordlists/Usernames.txt -P /home/pentester/Wordlists/Passwords.txt
ftp://ipaddr:WearegoingtousehydratoperformadictionaryattackontheFTPserver.
−Lswitchinthescriptrepresentstheusernamelist.Thelistisprovidedinthelocation/home/
pentester/Wordlists/Usernames.txt.
−Pswitchinthescriptrepresentsthepasswordlist.Thelistisprovidedinthelocation/home/
pentester/Wordlists/Passwords.txt.ftp://ip_addr: Here, $ip_addr grabs the value (IP
Address range) you entered in read command. So, a dictionary attack will be performed
on the IP address you entered in the previous step, using Hydra.
23. Minimize the text editor window and maximize the command line terminal. On issuing
the IP Address, Hydra begins to a perform Dictionary attack on the machine and starts
displaying the user credentials as shown in the screenshot.
It takes around 3 minutes for Hydra to crack all the credentials.
24. Minimize the command line terminal and maximize the text editor window. By now, you
would have attained the user credentials to log in to the FTP server. So, your next task
will be to log in to the server. Before that, we shall use the echo command to write some
content related to the server to log in to the server as shown in the screenshot:
25. Now, we shall use the read command to enter the target machine's IP Address. In this lab,
the variable used for addressing the IP Address range is ftp_ip.
26. Minimize the text editor window and maximize the command line terminal. Once the
credentials are obtained, you will be asked to enter the IP Address of the machine to log
in to the FTP server. Type 172.19.19.9 and press Enter.
27. Minimize the command line terminal and maximize the text editor window. Upon
entering the IP Address, the command ftp $ftp_ip is given to login to the IP Address of
the target machine.
28. Minimize the Leafpad window and maximize the command line terminal. You will be
asked to enter a username. In this lab, we are logging in to a user named jason's account.
So type jason and press Enter.
You may issue any one of the account's username in the Name field.
29. You will be asked to enter the password for the user account. Since we are going to log in
to john's user account, type green (password for jason's user account) and press Enter.
The Password field remains blank while you are typing the password.
30. On issuing the user credentials, you will be logged in to the FTP Server, as shown in the
screenshot.
31. In the same way, you may run this script to crack the user credentials and access the FTP
Server if hosted in the other networks. Close all the opened windows.
In this lab, you have successfully performed subnet scan, found machines having FTP ports
open, performed dictionary attack to attain credentials, and successfully logged in to the server
using the obtained credentials.