Chapter 13. Linux, Live CDs, and Automated Assessment Tools

IN TODAY'S BUSINESS ENVIRONMENT, it is likely that you will encounter operating systems other than the familiar Windows desktop. While Windows still lays claim to a large segment of the computers in the world, it is not the only operating system out there: Operating systems (OSs) such as the Mac OS, UNIX, and Linux are likely to cross your path at some point.

As a security professional, it is important for you always to have an understanding of the tools available to you, and in the security field this requires some knowledge of the Linux OS. Linux is different from Windows and will require some effort from you to learn, but once it is learned you will have many more tools available to you through which you can assess the security of your organization. Linux offers a tremendous number of benefits (the least of which is that it is free; most important is the amount of tools that will become available to you).

Linux offers benefits that Windows just cannot offer such as Live CDs. Linux is one of the very few OSs that can be run off of removable media such as flash drives, CDs, DVDs, and portable hard drives. Linux can be booted off removable media without being installed on a hard drive or on a computer, eliminating the need to make changes to the computer itself.

Linux

This chapter moves away from Windows to discuss Linux, which has a great deal in common with an older operating system—UNIX. Linux offers many of the benefits you would expect in any modern operating system, but a little differently from what you may be used to. The first difference is that it is open source, meaning that anyone can browse the source code. This design offers a degree of transparency that is not observed in other operating systems that are closed source, such as Windows.

Note

Linux was originally designed and created by Linus Torvalds in 1991 with the help of programmers and developers around the world. Since 1991, the operating system has rapidly evolved from a computer science project to a very usable mainstream operating system.

Linux KDE Desktop.

Figure 13-1. Linux KDE Desktop.

While Linux is a largely free and open source operating system, it is still powerful and useful. Linux is in fact a very complete operating system that offers graphical user interfaces (GUIs) that are easy to use and work with. Linux has also shown the ability to be very flexible and portable, running on a wide range of hardware and devices all offering similar or exactly the same features and capabilities. Figure 13-1 shows one possible interface for Linux.

Note

Linux offers several different graphical interfaces including KDE, Gnome, Fluxbox, and Lightbox. Conversely, Linux also can be entirely command line based with no corresponding GUI.

Linux is available in many different variations, known as distributions, available from many different vendors. These distributions vary in style, features, performance and usage with some being purposefully built for a specific situation. A common misconception is that Linux is always free. In fact it is not always; some distributions do have an associated fee to purchase them much like Windows. However, they still make their source code available with the General Public License (GPL).

Note

Currently there are more than 2,000 distributions of Linux available in different forms and formats. While most of these distributions are very specialized, it does demonstrate the large number of distributions available and the overall flexibility of the operating system.

Some of the more common distributions of Linux include:

  • Ubuntu

  • Kubuntu

  • OpenSuSE

  • Fedora

  • Debian

  • Slackware

  • MEPIS

At the heart of every operating system is the kernel, which is its core component. It has control over all the low-level system functions such as resource management, input and output operations, and the central processing unit (CPU). The kernel can be said to dictate the very behavior of the operating system itself. In most cases, you will not be interacting with the kernel directly; you will be interacting with it only through the use of a shell, which is the interface that is either command line- or graphical-based. The shell also interacts with devices such as hard drives, ports, central processing unit (CPU), and other types of devices.

Note

There are many different shells available for the Linux platform. It is up to you to choose what is best suited and most comfortable for you. Examples of shells that are in use are Bash, csh, and tcsh. Others are available in Linux distributions as well. The choice is yours about which is preferable, and any can generally be used with little or no loss in functionality.

Each of these kernels is built for the specific environment and operating system. In the case of Linux, there are multiple versions that are in use across different distributions that in some cases are customized. This also shows one of the unique features of Linux and the Linux kernel. Linux, unlike Windows, can have its kernel configured by anyone wishing to take the time (and having the knowledge) to do so.

A Look at the Interface

Linux can be used in two different ways—through the command line or through a GUI. In the Windows world, both options are available as well, but most people use the GUI and never think about the command line. In the Linux world, it is not uncommon for users to use both; in fact some advanced or hard-core users don't use the GUI at all, opting to use the command line instead. One of the biggest misconceptions about Linux is that you can only use the command line to operate it. While it is true that the command line may indeed be the only way to do more advanced operations, it is not your only option. In fact, Linux has had to introduce more advanced and usable interfaces as it has become more popular and widely adopted.

Basic Linux Navigation

One of the biggest differences you will notice in the Linux operating system if you are transferring in from Windows is how drives are referenced. In Linux, unlike Windows, drive letters are not used. Instead, drives and partitions are referenced by a using a series of filenames in the format:

/dev/hda1/file

Table 13-1. Linux directories and purposes.

DIRECTORY

PURPOSE

/

This represents the "root" of the file system. This is similar in some respects to the location C: in Windows.

/bin

All executables in this directory are accessible and usable by all system users. This can be considered to be more or less like the Windows folder in the Windows operating system.

/boot

Contains all the files that are required to start up and boot a Linux operating system.

/dev

Location where the files that dictate the access between hardware and the operating system reside. These can be thought of as drivers and similarly related files.

/etc

Files that are to store configuration information for applications are located in this folder. Applications can also store some configuration information in their own directories.

/home

This location is where the users will store their information by default. Typically their information is stored in per-user subdirectories underneath this folder.

/lib

Library files (mostly C programming language object files) can be found here. Libraries are shared code that is incorporated into an application later on demand. Applications and the OS store their library files in this location by default.

/mnt

Certain nonpermanent file systems (floppies, CD-ROMs, nfs) are normally placed here when a device is activated. Example: When you place a CD into the CD-ROM drive, the OS may mount (connect to) the CD file system and display the directories and files under /mnt/cdrom.

/opt

This directory is used at the administrator's discretion (optional) but it is typically used for third-party software.

/proc

This directory contains vital information about running processes on the Linux system.

/root

The home directory of the root user is contained in this special directory away from normal users.

/sbin

The system binaries directory contains executables that are used by the OS and the administrators, not typically by normal users.

/tmp

A temporary directory for general use by any user.

/usr

Generic directory that contains the body of useful folders and files for use by Linux users such as executables and documentation.

/var

Important directory that contains system variables such as print and mail spoolers, log files, and process IDs.

Another difference that exists between Windows and Linux is how directories are annotated. In Windows, directories are referenced with the familiar "", but in Linux the directories are "/". If anything is going to cause you grief as a Windows user moving to Linux, this is probably it.

Important Linux Directories

When navigating the many different directories in the Linux file system, you will need to have a good knowledge of the different directories and what they provide to the user. Table 13-1 lists some of the vital directories in the Linux file system. Awareness of these built-in directories allows administrators to monitor known expected files and directories and detect rogue files that have been either accidentally placed in sensitive directories or maliciously planted to trap unsuspecting system users.

Users, Groups, and Special Accounts

Linux is an operating system that is designed around a multiuser model. This design gives Linux the ability to have more than one user logged in and actively using the system at any particular time. This makes it necessary for each user to have an individual user account and home directory to store information. Linux also allows for different user accounts to be assigned different privileges for different access levels. All Linux users on a particular system have an associated user ID, belong to a group, and have a unique identification number referred to as a UID (user ID).

Working with user accounts are groups that are used to assign privileges collectively to multiple users. For example, grouping users into units that reflect job functions or desired access such as accounting, sales, or development would allow for quick and easy assignment of privileges. With a group you can place users with the same desired level of access in a group and give that group access instead. Groups are generally a way to put users together in a logical organization that is used to assign common access privileges and to simplify administration

In Linux, systems users gain access to a system only after a special account known as the root user, or superuser, has created user accounts and given these user accounts access. The root user is a very special and unique account because it is the account that has complete and unrestricted access to all commands, files, and other system components. The superuser or root account is created on all Linux systems when the operating system is installed. The root account is the account that must be used to create user accounts, create groups, assign permissions, and perform other sensitive system actions. Only the root user can add new groups and users. The new accounts define the user's environment and level of access.

New users may be created by doing the following:

  • Adding entries in the /etc/passwd file for the user

  • Creating a home directory for the username (/home/<user_name>

  • Assigning a default login shell

Working with Permissions

Every file and folder that resides on the hard drive of a Linux system has an associated set of permissions. These permissions dictate how a particular item may be interacted with and by whom. Specifically, in Linux access is granted to three types of users that dictate the level of access that will be permitted. The following are the types of users associated with every file:

  • Owner—Owner (U) of a file is the individual or user account who generated the file.

  • File group—Group (G) is the group the owner was logged in under while creating the file; all users that belong to the file's group have a common level of access to the file.

  • Others group—Others (O) group refers to all users on the system other than the owner and the file's group members.

Files and directories also have three types of permissions associated with them:

  • Read permission allows users to view a file, but not change or alter the file in any way. Read permissions to a directory allow users to view the directory's contents, but do not permit changes to the directory contents.

  • Write permission allows users to modify and save files, and add or delete files in directories.

  • Execute permission allows users to execute a file such as with a command. If applied to a directory, the permission will allow access to files within the directory.

Table 13-2. Representation of letters for Linux.

d

r

w

x

r

w

x

r

w

x

Owner

Group

Other

Item

Read

Write

Execute

Read

Write

Execute

Read

Write

Execute

type

In order to view the permissions assigned to each type of user for all the files located in a directory, issue the long listing option (-1) of the ls command:

[ Link ] ~$ ls -l

total 15

drwxr-xr-x+ 2 Link None 0 Nov 26 18:11 Java

-rw-r--r-- 1 Link None 57 Nov 24 21:21 errors

-rw-r--r-- 1 Link None 55 Nov 24 21:25 errors.txt

-rw-r--r-- 1 Link None 8728 Nov 24 20:19 lsinfo.txt

-rwxr-xr-x 1 Link None 43 Nov 26 01:42 myScript

[ LinuxUser ] ~$

The preceding string of letters for each entry represents the permissions that correspond to each user or group:

drwxr-xr-x

Table 13-2 illustrates what each letter represents left to right. Reading the permissions left to right indicates the following:

  • The type of file (or in d for directory)

  • The next three represent the user's permissions

  • The next three positions indicate the group permissions

  • The last three represent the access provided to everyone else.

Note

In some cases, a hyphen may appear in any of the permission fields and in this case the system is stating that the user has no permissions of that type.

Another example is:

drwxr-xr-x-

This folder allows read, write, and execute permissions for the owner, but only read and execute for the group and for other users.

Commonly Used Commands

Because of the many tasks that can be performed within a command line or terminal window, it is vital for you to understand terminal windows and the frequently used commands. This will require using the knowledge that you acquired earlier of filenames, directory names, and commands that are case sensitive. When at the Linux command line, you will see a command prompt similar to what is shown here:

[root@impa /]#.

This command prompt indicates the user account logged in (in this case, root), the computer name (in this case, impa), along with the current directory (in this case, /). The # symbol at the prompt indicates that the user account holds privileges, whereas a prompt that is followed by the $ will indicate a user account with standard privileges.

Basic Command Structure

Linux commands share a common form, which is the following:

command <option(s)><argument(s)>

The command identifies the command you want Linux to execute.

  • The name of a command generally consists of lowercase letters and digits.

  • Options modify the way a command works. For example, the - a option of the Is command generates the output of the command to list "hidden" files as well as normal files.

    root@linuxhost:/#ls -a

    is the same as

    root@impa:/#ls -al

Table 13-3. Linux commands.

COMMAND

PURPOSE

Ls

The list command is similar to the dir command in Windows, with very similar options. The Is command is used to display all the files and subdirectories in a given location.

Ls

pwd

The print working directory command is similar to the cd command in Windows. It is used to display the current location the user is in within the Linux directory structure. This command is very useful especially for the newbies that can get lost in the Linux file system quite quickly.

pwd

Cd

The change directory command is used to switch between locations in Linux. This command is identical in operation to the Windows version. The main difference is the way directories are referenced (remember your slashes). Important shorthand notations include these:

root of file system: /
current directory: ./
parent directory (the preceding directory): ../
home directory: ~
cd <path>

mkdir

Make directory is a command used to create new directories in Linux. The format is as follows:

mkdir <new directory name>

rmdir

Remove directory is a command that is used to remove or delete empty directories from the Linux file system. This is the key point, empty; the directory must be empty or the command will fail.

rmdir <directory name>

rm

A more aggressive removal command that removes files or folders. The different between this command and the rmdir command with respect to directories is that this command will remove a directory that is not empty. When using this command on directories, exercise caution.

rm <filename>

cp

A command that is used to copy files from location to location much like the copy commands in other operating systems.

cp <original location> <new location>

mv

The mv command is used to move files from one location to a new location.

mv <original location> <new location>

The next detail in commands is the arguments that are used to specify filenames or other targets that fine-tune or tweak the action of the command. For example, the ls command lets you specify a directory as an argument, which causes the command to list files in that particular directory:

root@impa:/#ls /bin

Table 13-3 lists a small number of the commands in Linux, but you should become comfortable with all of them, including their functions.

Note

Some commands provide the ability to specify a series of arguments; in these situations you must separate each argument with a space or tab.

Ipchains and Iptables

The Linux operating system offers several tools for controlling traffic to and from a system, including ipchains and iptables.

Ipchains

Ipchains is an early firewall technology for Linux that controls traffic by checking packets. Packets encountering the ipchains technology will enter a set of rules known as a chain. The packet is checked against these rules to see if it matches any known behaviors that would be considered malicious or incorrect. Traffic that is analyzed and shown to be suspicious will be dealt with accordingly, and traffic that is permitted will be sent on to the system to make what is known as a routing decision. The decision that is made will be based on whether the destination for the packet is attached to the device or is remote. A local device will be sent to the appropriate interface on the device; in the event the destination is remote, it will be forwarded to a forward chain before being sent onto an output chain and on toward its destination.

So what are chains? Ipchains are made up of rules, and each rule is composed of a set of definitions that specifies which packets must match it and what to do if the packet matches the rule. Every packet that arrives or departs a computer will be processed by at least one chain, and each rule on the chain will be compared with the packet. If one matches the packet, the process stops, and the rule is read to determine what to do with the packet. When a packet traverses a whole chain and no match is found, a policy defined for the chain is followed that dictates what to do with the packet.

One of the problems with ipchains is simplicity; the process described here is complex and time-consuming to perform on each packet. In response to this, a new packet-filtering framework known as netfilter was designed with the goal of simplifying and improving the process of packet filtering. Netfilter introduced cleaner packet filtering as well as improved flexibility compared with ipchains.

IPtables

Iptables is the successor to ipchains and introduces a more efficient method of processing packets than ipchains offers. Iptables builds on the technology introduced in netfilter and uses some of the modules of the software to make a more robust technology. Iptables and ipchains both process packets, but iptables goes one step further than ipchains. Although ipchains uses rules arranged in a list or chain, iptables builds on this by adding tables to the mix. Iptables uses these tables to decide how to handle a packet, whether it is to network address translation (NAT) or perform some other type of filtering on the data. As opposed to chains, this table format allows for a much greater degree of flexibility than ipchains because the ability to filter packets is more dynamic. Furthermore, the changes introduced in iptables means that a packet will pass through only one filtering point during its process, as opposed to ipchains, in which a packet can pass through multiple points on its journey across the network.

Live CDs

Something that is available in Linux that is somewhat unusual is a Live CD. Live CDs are pieces of media that contain a complete and bootable operating system. This is very different from the way items such as boot floppies were in the past. In the case of boot floppies, a completely functional operating system was just not possible—except in the early days of Direct Operating System (DOS). With Live CD, you can run an operating system that is fully featured and functional, and gives the same experience as the operating system when it is installed on the hard drive of a computer. For all intents and purposes, in this course you can say that just about every distribution of Linux is available in a Live format, with few exceptions.

One of the bigger benefits of a Live CD is that you can boot a computer off a Live CD and not make any alterations to the existing operating system on the computer's hard drive. When running a Live CD, the computer boots off the given media and uses the operating system that is running totally off the removable media. This can be useful for evaluating the operating system prior to making changes to the computer in any way. You could also use this for evaluating hardware support and compatibility. You can also use a Live CD to troubleshoot hardware (for example, when a piece of hardware fails or to recover a corrupted operating system).

Other common uses of live distributions include:

  • Installing Linux on a new system

  • Testing new software

  • Evaluating different hardware configurations

  • Repairing damaged systems

  • Guest systems

  • Portable systems

  • Password cracking

  • Password stealing

  • Password resetting

  • Pentesting

  • Multiboot

  • Forensics

  • Providing a secure non-alterable operating system

  • Kiosks

  • Persistent desktops

As with most live distributions, the ability to return the system to whatever state it happened to be in prior to the installation is standard. The process is simple: Boot off the live media and use the operating system; when you are done, shut down the operating system, eject the media, reboot, and you are back where you started. The downside of live distributions is performance; because the entire operating system is being run from physical memory, the performance will be less than if it were installed on the physical hard drive. Essentially the entire operating system is running from random access memory (RAM) along with all the applications, which means less RAM to go around. However, the amount of RAM required for Linux is quite low, with some Linux distributions being able to run in memory as little as 32 MB.

While the majority of Live CDs are designed for you to test drive an operating system, there are CDs designed for other uses. Live CDs are available that are used for forensic purposes, malware removal, system recovery, password reset, and other uses.

Although the majority of Live CDs can run in memory to free the optical drive or other media for other uses, loading the data off of a CD-ROM will always be slower than a hard drive-based installation. With larger operating systems there will be a substantial penalty incurred while the required information is loaded off the media, but with smaller images loading the operating system directly into RAM can be fast and efficient. Loading the image into physical memory provides substantial performance benefits because RAM is much faster than a hard drive.

Note

Typically, purpose-built distributions of this type include firewall applications, rescue disks, security tools, multimedia versions, and others. In some cases, these distributions will not even have an option to install to the hard drive—allowing the OS only to run from the media.

Special Purpose Live CDs

Live CDs can be generic or very specific and purpose-built. Purpose-built CDs are different from other, more commonly found live distributions in that someone built them with a very unique purpose or need in mind. In the case of regular Live CDs, the live distribution provides all the information needed to run a regular operating system and even provides the ability to install the OS. In the case of purpose-built CDs this may not be true; in fact, some of the Linux distributions (distros) may not even have the ability to install.

Some examples of purpose-built distributions include:

  • Firewalls

  • Rescue disks

  • Password reset (such as Trinity)

Trinity

The Trinity Rescue Kit (TRK) is a Linux distribution that is specifically designed to be run from a CD or flash drive. The TRK was designed to recover and repair both Windows and Linux systems that were otherwise unbootable or unrecoverable. While the TRK was designed for benevolent purposes, it can easily be used to escalate privileges by resetting passwords of accounts that you would not otherwise have access to.

Trinity can be used to change a password by booting the target system off of a CD or flash drive and entering the TRK environment. Once in the environment, a simple sequence of commands can be executed to reset the password of an account.

Note

Trinity can be used as a follow-on tool to the enumeration techniques discussed earlier. Trinity works best when you know the name of the account to be changed. The enumeration techniques shown previously allow you to browse the accounts on a system and select a target account.

Caine

Computer Aided INvestigative Environment (CAINE) is based on the popular Ubuntu Linux live distribution and was created by Digital Forensics for Interdepartmental Centre. The distribution contains a collection of tools wrapped up into a user-friendly environment. It has features that allow for the collection and analysis of evidence for investigative purposes. The distribution is GUI-based and allows easy access to several tools that provide rich forensic functions.

Astaro

Astaro is an integrated all-in-one firewall: a full hardened OS designed to host a firewall and perform all the functions of such an application such as stateful packet inspection, content filtering, application proxies, and IPSec-based virtual private networks (VPNs). It is intended to enforce network security without sacrificing performance, allowing branch offices, customers, and suppliers to safely share critical business information.

Damn Vulnerable Linux

Damn Vulnerable Linux (DVL) is a version of Linux that is based on the popular Slackware and Slax-based live DVD. The distribution is designed to be purposefully filled with broken, ill-configured, outdated, and exploitable software. It is intended as a training aid or research tool that demonstrates various security concepts such as reverse code engineering, buffer overflows, shell code development, Web exploitation, and SQL injection.

Network Security Toolkit (NST)

Network Security Toolkit (NST) is a distribution based on the Fedora Core OS, which was engineered to provide quick access to several open source network security applications, and runs on x86 platforms. The goal of developing this distribution is to provide a comprehensive set of open source network security tools. This distribution can be used to transform an x86 systems (Pentium II and above) into a system designed for network traffic analysis, intrusion detection, network packet generation, wireless network monitoring, a virtual system service server, or a sophisticated network/host scanner.

Automated Assessment Tools

There are many tools available for performing network testing in the Linux world; so many, in fact, that there is no way to mention every tool and package. In this section, you will be introduced to some of the more widely used tools for performing security testing that are based on the Linux platform.

As a security professional you will quickly learn that you cannot perform every security test manually. In fact, many of the tests that you will be required to perform are best left to automated tools. With the rapid evolution and deployment of threats and the vulnerabilities associated with them, automated tools allow for the quick discovery and subsequent process of addressing these problems.

As a security professional, you will most likely use a broad and diverse combination of automated and manual assessment tools. Use an automated assessment tool and then follow up with manual tools and analysis where appropriate. What an assessment tool looks for depends on the tool in use, but it can be anything from applications, individual systems, or an entire network:

  • Source code scanners include those scanners specifically designed to examine the source code of an application.

  • Application scanners are those that are designed to analyze the weaknesses in a specific application or type of application.

  • System scanners analyze systems and/or networks for a wide range of configuration or other types of application-level problems.

Source Code Scanners

Source code scanners are employed by those who need to locate security problems that exist in the source code of applications. Scanners in this category have the ability to detect software problems that include buffer overflows, privilege escalations, and other software errors and defects:

  • Buffer overflows that would enable data to be written over portions of or alter an executable, which would enable an attacker to perform any number of acts

  • Race conditions that would cause a system to function incorrectly and even deny access to resources to those authorized to use them

  • Privilege escalation such as when a piece of code executes with higher privileges than should be allowed by the user who initiated the execution

  • Input validation errors when data is either wholly or partially unchecked as it passes through the applications potentially causing errors

Some tools used to find these types of problems include:

  • Flawfinder—An application written in the Python programming language. This program can search through the source code of an application looking for security flaws. Generates a report with flaws organized by priority or seriousness.

  • Rough Auditing Tool for Security (RATS)—Authored in C, this program contains the ability to process rules for analyzing source code; these rules are written in XML.

  • StackGuard—A special compiler that is designed to build applications that are hardened against specific types of attacks. Programs run through this compiler tend to be largely or completely immune to specific types of attacks afterward.

  • Libsafe—Generates a protection method that has the trait of not requiring applications to be recompiled. It guards against buffer overflows and can protect applications for which the source code isn't available.

  • Metasploit—This application is authored in the Ruby development language, and was created in 2003 as a portable network game using the Perl scripting language. This application is known for uncovering some of the most sophisticated exploits to public security vulnerabilities. This tool is also useful to security researchers for its ability to analyze security vulnerabilities.

Application Level Scanners

Application vulnerability scanners are used to analyze applications that have been compiled rather than the application's source code itself. Tools in this category look for potential vulnerabilities that can be uncovered as the application is executing. Scanners of this type can look at every aspect of an application including the compiled components and configuration. Some examples of application-level scanners are:

  • Whisker One—An application scanner designed to analyze Web applications. Specifically, this scanner is designed to look for errors in the Web server-side scripting language known as Common Gateway Interface (CGI). Under the right conditions, CGI is a powerful and effective scripting language. Under less than ideal conditions, this language can lead to information leakage that can allow an attacker to observe confidential information and run unauthorized commands.

  • N-stealth—This application scanner has the ability to analyze thousands of security faults in applications and provide results in a formatted structure.

  • Weblnspect—A Web application vulnerability scanning tool. Can scan for more than 1,500 known Web server and application vulnerabilities and perform smart guesswork checks for weak passwords.

  • Nikto Simple—A Web vulnerability program that is fast and thorough, written in Ruby. It even supports basic port scanning to determine whether a Web server is running on any open ports.

  • AppDetective—This application-level scanner performs penetration and audit tests. It doesn't need any special permissions; the test queries the server and attempts to glean information about the database it is running, such as its version.

System-Level Scanners

These types of scanners can probe entire systems and associated services and components. A system-level scanner can be run against a single address or a range of addresses and can also test the effectiveness of layered security measures, such as a system running behind a firewall.

System-level scanners are not perfect. They have the ability to audit the source of the processes that are enabling services, and they use the resulting responses of a service to a finite number of probes, meaning that all possible inputs cannot be reasonably tested. System-level scanners have also been known to crash systems in some cases, which could impact system availability.

Some of the more popular system level scanners include:

  • Nessus—The well-known comprehensive, cross-platform, open source vulnerability scanner with command line interface (CLI) and GUI interfaces. Nessus is a security scanning and auditing tool that scans the ports and services a system exposes looking for vulnerabilities.

  • Nmap—A security scanner used to discover hosts and services on a computer network that generates a virtual map of the network that has been targeted. Can reveal the ports that are open on a single or range of systems and report on each.

  • SAINT—A well-known commercial scanner that provides vulnerability scanning and identification. It has the ability to scan for vulnerabilities on the Common Vulnerabilities and Exposures (CVE) list and can prioritize and rank these vulnerabilities from most to least critical.

  • SARA—A system-level scanner that is command line-based and has a Web-based GUI. Instead of inventing a new module for every conceivable action much like Nessus, SARA has the ability to work with other well-known open source products to get a more comprehensive scan.

  • LANguard—A scanner that reports information, such as the service pack level of each machine, missing security patches, open shares, open ports, key registry entries, weak passwords, users and groups, and more.

  • VLAD—A vulnerability scanner that is written in Perl. VLAD is designed to identify vulnerabilities in the SANS Top 10 List.

CHAPTER SUMMARY

In your career as a security professional, it is highly likely that you will encounter operating systems other than the familiar Windows desktop. One of them is Linux. While Windows still can lay claim to the majority of desktops in the world, you still need some familiarity with other operating systems to be complete as a security professional.

As a security professional, it is important for you to always have an understanding of the tools available to you, and using all the tools available to you requires some knowledge of the Linux OS. In fact, several useful tools are available only in Linux versions, so you have no other option but to learn Linux. The Linux OS is different from the Windows operating system with a universe of different files and folders that will require some effort from you to learn. Linux offers a tremendous amount of benefits: it is free and has a number of tools that will become available to you.

Additionally, Linux offers benefits that Windows just cannot offer, such as Live CDs. Linux is one of the very few OSs that can be run off of removable media such as flash drives, CDs, DVDs, and portable hard drives. Linux can be booted off removable media without being installed on a hard drive or on a computer eliminating the need to make changes to the computer itself.

KEY CONCEPTS AND TERMS

  • Ipchains

  • Iptables

  • Kernel

  • Live CD

  • Root user

CHAPTER 13 ASSESSMENT

  1. The _______ is the core of the Linux operating system.

    1. kernel

    2. shell

    3. GUI

    4. VPN

  2. _______ runs completely from removable media.

    1. Linux

    2. Live CD

    3. Kernel

    4. Shell

  3. _______ is a desktop interface for Linux.

    1. KDE

    2. GUI

    3. Windows

    4. Graphics

  4. _______ is a text-based interface for Linux.

    1. Terminal

    2. KDE

    3. Gnome

    4. GUI

  5. The command mv is used to remove empty directories.

    1. True

    2. False

  6. The command used to display where you are in the file system is cd.

    1. True

    2. False

  7. The command mv is designed to move files.

    1. True

    2. False

  8. The command _______ can be used to remove a file or folder.

    1. rm

    2. mv

    3. dv

    4. Is

  9. The command _______ is used to create new directories.

    1. cddir

    2. mkdir

    3. rmdir

    4. lsdir

  10. The command _______ is used to list the files and subdirectories in a given location.

    1. Is

    2. dir

    3. rm

    4. del

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.46.141