What is Hacking?

Hacking is identifying weakness in computer systems or networks to exploit its weaknesses to gain access. Example of Hacking: Using password cracking algorithm to gain access to a system
Computers have become mandatory to run a successful businesses. It is not enough to have isolated computers systems; they need to be networked to facilitate communication with external businesses. This exposes them to the outside world and hacking. Hacking means using computers to commit fraudulent acts such as fraud, privacy invasion, stealing corporate/personal data, etc. Cyber crimes cost many organizations millions of dollars every year. Businesses need to protect themselves against such attacks.
In this tutorial, we will learn-
Before we go any further, let’s look at some of the most commonly used terminologies in the world of hacking.

Who is a Hacker? Types of Hackers

Hacker is a person who finds and exploits the weakness in computer systems and/or networks to gain access. Hackers are usually skilled computer programmers with knowledge of computer security.
Hackers are classified according to the intent of their actions. The following list classifies hackers according to their intent.
SymbolDescription
What is Hacking ? An IntroductionEthical Hacker (White hat): A hacker who gains access to systems with a view to fix the identified weaknesses. They may also perform penetrationTesting and vulnerability assessments.
What is Hacking ? An IntroductionCracker (Black hat): A hacker who gains unauthorized access to computer systems for personal gain. The intent is usually to steal corporate data, violate privacy rights, transfer funds from bank accounts etc.
What is Hacking ? An IntroductionGrey hat: A hacker who is in between ethical and black hat hackers. He/she breaks into computer systems without authority with a view to identify weaknesses and reveal them to the system owner.
What is Hacking ? An IntroductionScript kiddies: A non-skilled person who gains access to computer systems using already made tools.
What is Hacking ? An IntroductionHacktivist: A hacker who use hacking to send social, religious, and political, etc. messages. This is usually done by hijacking websites and leaving the message on the hijacked website.
What is Hacking ? An IntroductionPhreaker: A hacker who identifies and exploits weaknesses in telephones instead of computers.

What is Cybercrime?

Cyber crime is the use of computers and networks to perform illegal activities such as spreading computer viruses, online bullying, performing unauthorized electronic fund transfers, etc. Most cybercrimes are committed through the internet. Some cybercrimes can also be carried out usingMobile phones via SMS and online chatting applications.

Type of Cybercrime

  • The following list presents the common types of cybercrimes:
  • Computer Fraud: Intentional deception for personal gain via the use of computer systems.
  • Privacy violation: Exposing personal information such as email addresses, phone number, account details, etc. on social media, websites, etc.
  • Identity Theft: Stealing personal information from somebody and impersonating that person.
  • Sharing copyrighted files/information: This involves distributing copyright protected files such as eBooks and computer programs etc.
  • Electronic funds transfer: This involves gaining an un-authorized access to bank computer networks and making illegal fund transfers.
  • Electronic money laundering: This involves the use of the computer to launder money.
  • ATM Fraud: This involves intercepting ATM card details such as account number and PIN numbers. These details are then used to withdraw funds from the intercepted accounts.
  • Denial of Service Attacks: This involves the use of computers in multiple locations to attack servers with a view of shutting them down.
  • Spam: Sending unauthorized emails. These emails usually contain advertisements.

What is Ethical Hacking?

Ethical Hacking is identifying weakness in computer systems and/or computer networks and coming with countermeasures that protect the weaknesses. Ethical hackers must abide by the following rules.
  • Get written permission from the owner of the computer system and/or computer network before hacking.
  • Protect the privacy of the organization been hacked.
  • Transparently report all the identified weaknesses in the computer system to the organization.
  • Inform hardware and software vendors of the identified weaknesses.

Why Ethical Hacking?

  • Information is one of the most valuable assets of an organization. Keeping information secure can protect an organization’s image and save an organization a lot of money.
  • Hacking can lead to loss of business for organizations that deal in finance such as PayPal. Ethical hacking puts them a step ahead of the cyber criminals who would otherwise lead to loss of business.

Legality of Ethical Hacking

Ethical Hacking is legal if the hacker abides by the rules stipulated in the above section on the definition of ethical hacking. The International Council of E-Commerce Consultants (EC-Council) provides a certification program that tests individual’s skills. Those who pass the examination are awarded with certificates. The certificates are supposed to be renewed after some time.

Summary

  • Hacking is identifying and exploiting weaknesses in computer systems and/or computer networks.
  • Cybercrime is committing a crime with the aid of computers and information technology infrastructure.
  • Ethical Hacking is about improving the security of computer systems and/or computer networks.
  • Ethical Hacking is legal.
A computer system threat is anything that leads to loss or corruption of data or physical damage to the hardware and/or infrastructure. Knowing how to identify computer security threats is the first step in protecting computer systems. The threats could be intentional, accidental or caused by natural disasters.
In this article, we will introduce you to the common computer system threats and how you can protect systems against them.

Topics covered in this tutorial

What is a Security Threat?

Security Threat is defined as a risk that which can potentially harm computer systems and organization. The cause could be physical such as someone stealing a computer that contains vital data. The cause could also be non-physical such as a virus attack. In these tutorial series, we will define a threat as a potential attack from a hacker that can allow them to gain unauthorized access to a computer system.
Potential Security Threats To Your Computer Systems

What are Physical Threats?

A physical threat is a potential cause of an incident that may result in loss or physical damage to the computer systems.
The following list classifies the physical threats into three (3) main categories;
  • Internal: The threats include fire, unstable power supply, humidity in the rooms housing the hardware, etc.
  • External: These threats include Lightning, floods, earthquakes, etc.
  • Human: These threats include theft, vandalism of the infrastructure and/or hardware, disruption, accidental or intentional errors.
To protect computer systems from the above mentioned physical threats, an organization must have physical security control measures.
The following list shows some of the possible measures that can be taken:
  • Internal: Fire threats could be prevented by the use of automatic fire detectors and extinguishers that do not use water to put out a fire. The unstable power supply can be prevented by the use of voltage controllers. An air conditioner can be used to control the humidity in the computer room.
  • External: Lightning protection systems can be used to protect computer systems against such attacks. Lightning protection systems are not 100% perfect, but to a certain extent, they reduce the chances of Lightning causing damage. Housing computer systems in high lands are one of the possible ways of protecting systems against floods.
  • Humans: Threats such as theft can be prevented by use of locked doors and restricted access to computer rooms.

What are Non-physical threats?

A non-physical threat is a potential cause of an incident that may result in;
  • Loss or corruption of system data
  • Disrupt business operations that rely on computer systems
  • Loss of sensitive information
  • Illegal monitoring of activities on computer systems
  • Cyber Security Breaches
  • Others
The non-physical threats are also known as logical threats. The following list is the common types of non-physical threats;
  • Virus
  • Trojans
  • Worms
  • Spyware
  • Key loggers
  • Adware
  • Denial of Service Attacks
  • Distributed Denial of Service Attacks
  • Unauthorized access to computer systems resources such as data
  • Phishing
  • Other Computer Security Risks
To protect computer systems from the above-mentioned threats, an organization must have logical security measures in place. The following list shows some of the possible measures that can be taken to protect cyber security threats
To protect against viruses, Trojans, worms, etc. an organization can use anti-virus software. In additional to the anti-virus software, an organization can also have control measures on the usage of external storage devices and visiting the website that is most likely to download unauthorized programs onto the user’s computer.
Unauthorized access to computer system resources can be prevented by the use of authentication methods. The authentication methods can be, in the form of user ids and strong passwords, smart cards or biometric, etc.
Intrusion-detection/prevention systems can be used to protect against denial of service attacks.There are other measures too that can be put in place to avoid denial of service attacks.

Summary

  • A threat is any activity that can lead to data loss/corruption through to disruption of normal business operations.
  • There are physical and non-physical threats
  • Physical threats cause damage to computer systems hardware and infrastructure. Examples include theft, vandalism through to natural disasters.
  • Non-physical threats target the software and data on the computer systems.
Skills allow you to achieve your desired goals within the available time and resources. As a hacker, you will need to develop skills that will help you get the job done. These skills include learning how to program, use the internet, good at solving problems, and taking advantage of existing security tools.
In this article, we will introduce you to the common programming languages and skills that you must know as a hacker.

Topics covered in this tutorial

What is a programming language?

A programming language is a language that is used to develop computer programs. The programs developed can range from operating systems; data based applications through to networking solutions.  

Learn everything about ethical hacking tools and skills

Why should you learn how to program?

  • Hackers are the problem solver and tool builders, learning how to program will help you implement solutions to problems. It also differentiates you from script kiddies.
  • Writing programs as a hacker will help you to automate many tasks which would usually take lots of time to complete.
  • Writing programs can also help you identify and exploit programming errors in applications that you will be targeting.
  • You don’t have to reinvent the wheel all the time, and there are a number of open source programs that are readily usable. You can customize the already existing applications and add your methods to suit your needs.

What languages should I learn?

The answer to this question depends on your target computer systems and platforms. Some programming languages are used to develop for only specific platforms. As an example, Visual Basic Classic (3, 4, 5, and 6.0) is used to write applications that run on Windows operating system. It would, therefore, be illogical for you to learn how to program in Visual Basic 6.0 when your target is hacking Linux based systems.

Programming languages that are useful to hackers

SR NO.COMPUTER

LANGUAGES
DESCRIPTIONPLATFORMPURPOSE
1HTMLLanguage used to write web pages.*Cross platformWeb hacking

Login forms and other data entry methods on the web use HTML forms to get data. Been able to write and interpret HTML, makes it easy for you to identify and exploit weaknesses in the code.
2JavaScriptClient side scripting language*Cross platformWeb Hacking

JavaScript code is executed on the client browse. You can use it to read saved cookies and perform cross site scripting etc.
3PHPServer side scripting language*Cross platformWeb Hacking

PHP is one of the most used web programming languages. It is used to process HTML forms and performs other custom tasks. You could write a custom application in PHP that modifies settings on a web server and makes the server vulnerable to attacks.
4SQLLanguage used to communicate with database*Cross platformWeb Hacking

Using SQL injection, to by-pass web application login algorithms that are weak, delete data from the database, etc.
5Python

Ruby

Bash

Perl
High level programming languages*Cross platformBuilding tools & scripts

They come in handy when you need to develop automation tools and scripts. The knowledge gained can also be used in understand and customization the already available tools.
6C & C++High level programming*Cross platformWriting exploits, shell codes, etc.

They come in handy when you need to write your own shell codes, exploits, root kits or understanding and expanding on existing ones.  
7Java 

CSharp

Visual Basic

VBScript
Other languagesJava & CSharp are *cross platform. Visual Basic is specific to WindowsOther uses

The usefulness of these languages depends on your scenario.

* Cross platform means programs developed using the particular language can be deployed on different operating systems such as Windows, Linux based, MAC etc.

Other skills

In addition to programming skills, a good hacker should also have the following skills:
  • Know how to use the internet and search engines effectively to gather information.
  • Get a Linux-based operating system and the know the basics commands that every Linux user should know.
  • Practice makes perfect, a good hacker should be hard working and positively contribute to the hacker community. He/she can contribute by developing open source programs, answering questions in hacking forums, etc.

Summary

  • Programming skills are essential to becoming an effective hacker.
  • Network skills are essential to becoming an effective hacker
  • SQL skills are essential to becoming an effective hacker.
  • Hacking tools are programs that simplify the process of identifying and exploiting weaknesses in computer systems.

What are Hacking Tools?

Hacking Tools are computer programs and scripts that help you find and exploit weaknesses in computer systems, web applications, servers and networks. There is a variety of such tools available on the market. Some of them are open source while others are commercial solution.
In this list we highlight the top 20 tools for Ethical Hacking of web applications, servers and networks

1) Netsparker

Netsparker is an easy to use web application security scanner that can automatically find SQL Injection, XSS and other vulnerabilities in your web applications and web services. It is available as on-premises and SAAS solution.
Features
  • Dead accurate vulnerability detection with the unique Proof-Based Scanning Technology.
  • Minimal configuration required. Scanner automatically detects URL rewrite rules, custom 404 error pages.
  • REST API for seamless integration with the SDLC, bug tracking systems etc.
  • Fully scalable solution. Scan 1,000 web applications in just 24 hours.
Download a demo or launch an online scan trial to scan your website for vulnerabilities now.

2) Acunetix WVS:

Acunetix is the leading web vulnerability scanner. This widely acclaimed tool offers the most advanced SQL Injection and XSS black box scanning technology.
Features:
  • Inbuilt vulnerability management helps users to prioritize and manage vulnerability resolution
  • Acunetix comes with a Login Sequence Recorder that allows one to access the password protected areas of web sites.
  • Fuzz test validation and handling of invalid data
  • The new AcuSensor technology lets users reduce the false positive rate
  • Automatic Web Application Firewall configuration
  • Easily retrieve and execute actions
  • Seamlessly integrate into complex, custom workflows and processes

3) Burp Suite:

Burp Suite is a useful platform for performing Security Testing of web applications. Its various tools work seamlessly together to support the entire pen testing process. It spans from initial mapping to analysis of an application's attack surface.
Features:
It can detect over 3000 web application vulnerabilities.
  • Scan open-source software and custom-built applications
  • An easy to use Login Sequence Recorder allows the automatic scanning
  • Review vulnerability data with built-in vulnerability management.
  • Easily provide wide variety of technical and compliance reports
  • Detects Critical Vulnerabilities with 100% Accuracy
  • Automated crawl and scan
  • Advanced scanning feature for manual testers
  • Cutting-edge scanning logic

4) Ettercap:

Ettercap is an ethical hacking tool. It supports active and passive dissection includes features for network and host analysis.
Features:
  • It supports active and passive dissection of many protocols
  • Feature of ARP poisoning to sniff on a switched LAN between two hosts
  • Characters can be injected into a server or to a client while maintaining a live connection
  • Ettercap is capable of sniffing an SSH connection in full duplex
  • Allows sniffing of HTTP SSL secured data even when the connection is made using proxy
  • Allows creation of custom plugins using Ettercap's API

5) Aircrack:

Aircrack is a trustable ethical hacking tool. It cracks vulnerable wireless connections. It is powered by WEP WPA and WPA 2 encryption Keys.
Features:
  • More cards/drivers supported
  • Support all types of OS and platforms
  • New WEP attack: PTW
  • Support for WEP dictionary attack
  • Support for Fragmentation attack
  • Improved tracking speed

6) Angry IP Scanner:

Angry IP Scanner is open-source and cross-platform ethical hacking tool. It scans IP addresses and ports.
Features:
  • Scans local networks as well as the Internet
  • Free and open-source tool
  • Random or file in any format
  • Exports results into many formats
  • Extensible with many data fetchers
  • Provides command-line interface
  • Works on Windows, Mac, and Linux
  • No need for Installation

7) GFI LanGuard:

GFI LanGuard is an ethical tool that scan networks for vulnerabilities. It can acts as your 'virtual security consultant' on demand. It allows creating an asset inventory of every device.
Features:
  • It helps to maintain a secure network over time is to know which changes are affecting your network and
  • Patch management: Fix vulnerabilities before an attack
  • Analyze network centrally
  • Discover security threats early
  • Reduce cost of ownership by centralizing vulnerability scanning
  • Help to maintain a secure and compliant network

8) Savvius:

It is an ethical hacking tool. It performance issues and reduces security risk with the deep visibility provided by Omnipeek. It can diagnose network issues faster and better with Savvius packet intelligence.
Features:
  • Powerful, easy-to-use network forensics software
  • Savvius automates the capture of the network data required to quickly investigate security alerts
  • Software and integrated appliance solutions
  • Packet intelligence combines deep analysis
  • Rapid resolution of network and security issues
  • Easy to use Intuitive workflow
  • Expert and responsive technical support
  • Onsite deployment for appliances
  • Commitment to our customers and our products

9) QualysGuard:

Qualys guard helps businesses streamline their security and compliance solutions. It also builds security into their digital transformation initiatives. This tool can also check the performance vulnerability of the online cloud systems.
Features:
  • It is trusted globally
  • No hardware to buy or manage
  • It is a scalable, end-to-end solution for all aspects of IT security
  • Vulnerability data securely stored and processed on an n-tiered architecture of load-balanced servers
  • It sensor provides continuous visibility
  • Data analyzed in real time
  • It can respond to threats in a real-time

10) WebInspect:

WebInspect is automated dynamic application security testing that allows performing ethical hacking techniques. It provides comprehensive dynamic analysis of complex web applications and services.
Features:
  • Allows to test dynamic behavior of running web applications to identify security vulnerabilities
  • Keep in control of your scan by getting relevant information and statistics at a glance
  • Centralized Program Management
  • Advanced technologies, such as simultaneous crawl professional-level testing to novice security testers
  • Easily inform management on vulnerability trending, compliance management, and risk oversight

11) Hashcat:

Hashcat is a robust password cracking ethical hacking tool. It can help users to recover lost passwords, audit password security, or just find out what data is stored in a hash.
Features:
  • Open-Source platform
  • Multi-Platform Support
  • Allows utilizing multiple devices in the same system
  • Utilizing mixed device types in the same system
  • It supports distributed cracking networks
  • Supports interactive pause/resume
  • Supports sessions and restore
  • Built-in benchmarking system
  • Integrated thermal watchdog
  • Supports automatic performance tuning

12) L0phtCrack:

L0phtCrack 6 is useful password audit and recovery tool. It identifies and assesses password vulnerability over local machines and networks.
Features:
  • Multicore & multi-GPU support helps to optimize hardware
  • Easy to customize
  • Simple Password Loading
  • Schedule sophisticated tasks for automated enterprise-wide password
  • Fix weak passwords issues by forcing password resets or locking accounts
  • It allows multiple auditing OSes

13) Rainbow Crack:

RainbowCrack is a password cracking tool widely used for ethical hacking. It cracks hashes with rainbow tables. It uses time-memory tradeoff algorithm for this purpose.
Features:
  • Full time-memory trade-off tool suites, including rainbow table generation
  • It Support rainbow table of any hash algorithm
  • Support rainbow table of any charset
  • Support rainbow table in raw file format (.rt) and compact file format
  • Computation on multi-core processor support
  • GPU acceleration with multiple GPUs
  • Runs on Windows OS and Linux
  • Unified rainbow table file format on every supported OS
  • Command line user interface
  • Graphics user interface

14) IKECrack:

IKECrack is an open source authentication crack tool. This ethical hacking tool is designed to brute-force or dictionary attack. This tool also allows performing cryptography tasks.
Features:
  • IKECrack is a tool that allows performing Cryptography tasks
  • Initiating client sends encryption options proposal, DH public key, random number, and an ID in an unencrypted packet to the gateway/responder.
  • It is freely available for both personal and commercial use. Therefore, it is perfect choice for user who wants an option for Cryptography programs

15) IronWASP:

IronWASP is an open source software for ethical hacking too. It is web application vulnerability testing. It is designed to be customizable so that users can create their custom security scanners using it.
Features:
  • GUI based and very easy to use
  • It has powerful and effective scanning engine
  • Supports for recording Login sequence
  • Reporting in both HTML and RTF formats
  • Checks for over 25 types of web vulnerabilities
  • False Positives and Negatives detection support
  • It supports Python and Ruby
  • Extensible using plug-ins or modules in Python, Ruby, C# or VB.NET

16) Medusa

Medusa is one of the best online brute-force, speedy, parallel password crackers ethical hacking tool. This tool is also widely used for ethical hacking.
Features:
  • It is designed in such a way that it is speedy, massively parallel, modular, login brute-forcer
  • The main aim of this tool is to support as many services which allow remote authentication
  • Allows to perform Thread-based parallel testing and Brute-force testing
  • Flexible user input. It can be specified in a variety of ways
  • All the service module exists as an independent .mod file.
  • No modifications are needed to the core application to extend the supported list of services for brute-forcing

17) NetStumbler

NetStumbler is used to detect wireless networks on the Windows platform.
Features:
  • Verifying network configurations
  • Finding locations with poor coverage in a WLAN
  • Detecting causes of wireless interference
  • Detecting unauthorized ("rogue") access points
  • Aiming directional antennas for long-haul WLAN links
Download link: http://www.stumbler.net/

18) SQLMap

SQLMap automates the process of detecting and exploiting SQL Injection weaknesses. It is open source and cross platform. It supports the following database engines.
  • MySQL
  • Oracle
  • Postgre SQL
  • MS SQL Server
  • MS Access
  • IBM DB2
  • SQLite
  • Firebird
  • Sybase and SAP MaxDB
It supports the following SQL Injection Techniques;
  • Boolean-based blind
  • Time-based blind
  • Error-based
  • UNION query
  • Stacked queries and out-of-band.
Download link: http://sqlmap.org/

19) Cain & Abel

Cain & Abel is a Microsoft Operating System passwords recovery tool. It is used to -
  • Recover MS Access passwords
  • Uncover password field
  • Sniffing networks
  • Cracking encrypted passwords using dictionary attacks, brute-force, and cryptanalysis attacks.

20) Nessus

Nessus can be used to perform;
  • Remote vulnerability scanner
  • Password dictionary attacks
  • Denial of service attacks.
It is closed source, cross platform and free for personal use.