The Technical Avenue

Going through The Technical Avenue you will understand and explore the facts of computer related technologies.

Why Information Security ?

Some years ago information security is not a hot topic. Because in that time organizations did not heavily depend on computer based system. Internet was not there and few people had the technical knowledge. But nowadays, the situation got changed.

37H1cAl Hacking

Reconnaissance, Scanning, Gaining Access, Maintaining Access, Clearing Tracks

Computer Virus Analysis

Types of Computer Viruses, Infection Strategies, Antivirus Defense Development.

Usefull Softwres and Tools.

Contains an abbreviated list of very useful software tools for different purposes.

Pages

Please leave a comment as often as you see fit.. :)

Sunday, May 19, 2019

Understanding OAuth2

This protocol allows third-party applications to grant limited access to an HTTP service, either on behalf of a resource owner or by allowing the third-party application to obtain access on its own behalf. Access is requested by a client, it can be a website or a mobile application for example.

Version 2 is expected to simplify the previous version of the protocol and to facilitate interoperability between different applications.

OAuth2 defines 4 roles :

The Third-Party Application: "Client"
The client is the application that is attempting to get access to the user's account. It needs to get permission from the user before it can do so.

The API: "Resource Server"
The resource server is the API server used to access the user's information.

The Authorization Server
This is the server that presents the interface where the user approves or denies the request. In smaller implementations, this may be the same server as the API server, but larger scale deployments will often build this as a separate component.

The User: "Resource Owner"
The resource owner is the person who is giving access to some portion of their account.

Creating an App
Before you can begin the OAuth process, you must first register a new app with the service. When registering a new app, you usually register basic information such as application name, website, a logo, etc. In addition, you must register a redirect URI to be used for redirecting users to for web server, browser-based, or mobile apps.

Example: Registering a Goole Drive API























Redirect URIs
The service will only redirect users to a registered URI, which helps prevent some attacks. Any HTTP redirect URIs must be protected with TLS security, so the service will only redirect to URIs beginning with "https". This prevents tokens from being intercepted during the authorization process. Native apps may register a redirect URI with a custom URL scheme for the application, which may look like demoapp://redirect.







































Client ID and Secret
After registering your app, you will receive a client ID and a client secret. The client ID is considered public information and is used to build login URLs, or included in Javascript source code on a page. The client secret must be kept confidential. If a deployed app cannot keep the secret confidential, such as single-page Javascript apps or native apps, then the secret is not used, and ideally, the service shouldn't issue a secret to these types of apps in the first place.


















Authorization
The first step of OAuth 2 is to get authorization from the user. For browser-based or mobile apps, this is usually accomplished by displaying an interface provided by the service to the user.

OAuth 2 provides several "grant types" for different use cases. The grant types defined are:

Authorization Code for apps running on a web server, browser-based and mobile apps
Password for logging in with a username and password
Client credentials for application access
Implicit was previously recommended for clients without a secret, but has been superseded by using the Authorization Code grant with no secret.
Each use case is described in detail below.

In this blog post, you can get a clear understand about the process of a web application that consumes the service of an OAuth Authorization Server and an OAuth Resource Server. For instance, it will demonstrate by a simple PHP web application to upload files to Google Drive using Google Drive REST API V3. As a prerequisite, you needed to set up a web server on your local machine. Then get the project files from here and follow the instructions in GitHub Readme to deploy it on your localhost.

When you run the app, initially it will display a simple button to initiate the process by redirecting the user to the permissions page where users can grant access to the application.




https://accounts.google.com/o/oauth2/v2/auth?redirect_uri=http://localhost/DriveSubmIt/modules/submit.html&prompt=consent&response_type=code&client_id=30577338934-gr44qm3k4vga34bc2lkrmfbsjbuidkgd.apps.googleusercontent.com&scope=https://www.googleapis.com/auth/drive&access_type=offline

redirect_uri - Indicates the URI to return the user to after authorization is complete
response_type=code - Indicates that your server expects to receive an authorization code
client_id - The client ID you received when you first created the application
scope - One or more scope values indicating which parts of the user's account you wish to access

As you can see that whenever you execute this you will be redirected to the screen where you want to select your Google account from this list of accounts and after that, it grants access to your account by allowing this you will be granted access to this application.























If the user clicks "Allow," the service redirects the user back to your site with an auth code.



Website Interface:



Your server exchanges the auth code for an access token. You never see the access token, it will be stored by the website (in session for example). Google also sends other information with the access token, such as the token lifetime and eventually a refresh token.



When you upload file it will use the session.












































Message flow diagram:

Saturday, September 1, 2012

Download Entire FB Photo Album In Few Seconds

Facebook is a most common and great way to share photos with your friends and family members. There has been a huge rise in the number of photos shared on Facebook with more than 60 billion photos shared by its members already.  Everyday we see our friends and family members sharing pictures on Facebook as albums and there are times when you want to download and store them on your machine. This is quite difficult task, if you have to download each picture by right-clicking and then doing “Save Image As…” for each photo.

Facebook2Zip  is a web service that allows you to download your friends' Facebook photo albums in a single zip archive. As well as this is a simple way to back up your own Facebook photo albums. This is a totally free online too.

To start using this service, you just have to visit the Facebook2Zip official web site and log in with Facebook. When you login with your Facebook login credentials it will allow you to select yourpersonal albums or type and select your Friends name that you want to download from. Then it will display the list of albums and you can select and download. You can download individual or multiple photo albums.

Please let me know if anything is not working properly. Good Luck! :)


Virus Analysis; Code Evolution Techniques



One of the most important requirements of malicious code analysis is the understand of advanced code evolution techniques.There are common techniques used by malicious code developers and writers to evade detection and destruction: 




 
Common Techniques:

 1. Self-Encryption and Self-Decryption
Malicious code may encrypt the virus body. Even using several layers of encryption and decryption and/or using random keys (Oligomorphic Viruses) in encryption and decryption. This makes them harder to examine directly.

2. Binders and Packers
Most virus signature files are created based on the checksum value which makes use of the file properties and first few bytes of the malicious code binaries. The binders technique is to bind the virus and malicious code file on to another file, which changes its form. The packers technique is to compress the virus code before it is embedded.

3. Polymorphism
Malicious code can change its default encryption settings as well as the decryption code during self-encryption. These make it much more difficult to detect.

4. Metamorphic Viruses
These do not have a decryptor or a constant virus body but are able to create new generations that look different. Malicious code change its form by, for instance, rearranging its code fragments or/and by adding useless lines of code into its source, and recompiling itself into a new form.

5. Stealth
The technique is designed to evade anti-virus software detection by hiding the code itself.

Let's have a talk about virus infection techniques in future post.


Wrap a BAT or VBS into an EXE

There is no way to convert a .vbs files or .bat files into an executable (.exe file) because they are not a compiled language. The process of converting source code into native executable code is called "compilation", and it's not supported by scripting languages like VBScript or Batch Files.

Alternatively, there are ways to wrap VBScript and BAT code files in to a standalone executable file. There is a native Windows tool called IExpress which you can wrap a vbs or bat into an .exe.

In XP or Windows 7 press windows key + r ( OR click Start, click Run) for Run dialog box. Then enter iexpress in Run dialog box, and click OK. This starts the IExpress Wizard.

1.     On the IExpress, select Create new Self Extraction Directive file and hit Next.

2.     Select Extract files and run an installation command and click Next.

3.     On next page type a title for your package and click Next.

4.     On the Confirmation prompt page, select No prompt and click Next.

5.     On next page, select Do not display a license and click Next.

6.     On the Packaged files page, click Add and select the vbs script or bat from the directory in which it resides:

7.     When you finish adding files, click Next.

8.     On the Install Program to Launch page, in the Install Program box,type;

 c:\windows\system32\cscript.exe “yourVBS.VBS OR yourBAT.BAT” 

OR

 c:\windows\system32\wscript.exe “yourVBS.VBS OR yourBAT.BAT”

Leave the Post Install Command box BLANK.

9.  On the Show window page, select Hidden and click Next.

10.  On the Finished message page, select No message and click Next.

11.  On the Package Name and Options page, enter the path and file name that you want for this distribution package. Check both boxes and click Yes to the warning under Options and click Next.

12.  On the Configure restart page, select No restart and click Next.

13.  On the Save Self Extraction Directive page, select Save Self Extraction Directive(SED) file:, edit the path and name of the file, and click Next.

14.  On the Create package page, click Next. When the package has been created, click Finish to exit.

15.  The package will now be created with the name you specified and have an extension of .EXE.

Now you can wrap and send your funny VBScripts and Batch files as exe file. ;)


Hack Your Friend’s Keyboard (VBS Fun With Notepad)


1. Open Notepad and type :

Set wshShell = wscript.CreateObject("WScript.Shell")
do
wscript.sleep 100
wshshell.sendkeys "You are FOOL"
loop


2. Save it as "Anything.VBS" and send it to your friend.

3. When he runs the file it will begins to type "You are Fool"  simultaneously. He will kill you. But This one not harmful. We can stop the script;

To stop the Script:

1. Open "Windows Task Manager".
2. Hit the "Processes" tab.
3. Find the "wscript" and end the process.

OR

Restart the machine.

I will make a post about how to use Iexpress to wrap your VBS scripts into an .exe in my future post.


Download Videos From Youtube



If you have installed IDM you don't need to worry. This is an alternative and instant way to download videos from the web. KeepVid is the number one website for downloading streaming videos from websites. It allows you to download videos from almost all popular video sharing network; fromYoutube, GoogleVideo, Break.com, Dailymotion, Blip.tv, Groper, Current TV, and dozens of other video sharing websites.



How To Use KeepVid:

1. Copy video URL of that page.
2. Go to keepvid.com
3. Paste the URL into the the box and click on the "download" button.
** If you are first time to use KeepVid, it requested to install Java. Otherwise, you will not be able to download videos. Because Java is required as it helps fetch the download links for you faster.
4. After a moment download links are appears to several predetermined formats . Just click  and download the video from a format what you want.

Keep downloading. Good Luck!


Access Your Files From Anywhere (GoogleDrive)




Google Drive is a file storage and synchronization service by Google(Released on April 24, 2012). It is a place where you can create, share, collaborate, and keep all of your stuff. It giving you another option for stashing your stuff in the cloud.





Collaboration
Google Drive is tight integration with Google’s productivity apps. Google Docs is built right into Google Drive. So you can work with others in real time on documents, spreadsheets and presentations. And also it can handle more than 30 different types of files and you don't even have to have those programs installed on your computer to edit them.

Data anywhere
Google Drive lets you keep all your stuff in one place. Upload all your files from your computer and you can access them anywhere on the web. All your stuff is just there.

 

Google Drive is available for PC and Mac, Chrome OS,  iPhone and iPad and Android devices.

Click here to sign-up and get 5 GB free. Google Drive can be upgraded to 16TB, which is a factor if you want huge capacity online.

Keep everything. Share anything. Good Luck! :)



Internet Download Manager V6.12

Internet Download Manager(IDM) is a tool that enhance downloading speed. It increases download speeds by up to 5 times. IDM offers download scheduling, resuming and recovery for broken downloads. Internet Download Manager was designed to integrate into all the major browsers. It has a smart download logic accelerator that features intelligent dynamic file segmentation and safe multipart downloading technology to accelerate your downloads. It's friendly interface allows any user to benefit from all of its features.

Internet Download Manager v6.12. Fixed compatibility problems with different browsers including Internet Explorer 9 Final, all Mozilla Firefox versions up to Mozilla Firefox 14 (Aurora), Google Chrome. Improved FLV grabber to save videos from web players on YouTube, WOW! Google Video, MySpace TV, and other popular sites.

Download IDM + Crack

How To Install:

1) Install idman612f.exe
2) Exit the program. (Right click on the green icon of IDM found in the system tray -> Exit)
3) Copy the file "IDMan.exe" from the folder crack, in install folder, by default:
C:\Program Files\Internet Download Manager
and confirm to overwrite existing file.

That's it. Keep downloading. Please let me know if anything is not working properly. Good Luck! :)


Friday, August 31, 2012

CurrPorts Port Scanner (Ethical Hacking Toolz)

Port Scanners are important to network security technicians because they can reveal possible security vulnerabilities on the targeted system.

CurrPorts is a portable executable that list down all currently opened TCP/IP and UDP ports on local computer. And also it displays  information about the process that ports are opened for, including the process name, full path of the process, version information of the process, the time that the process was created, and the user that created it.


And also you can close unwanted TCP connections, kill the process that opened the ports, and save the TCP/UDP ports information to HTML file, XML file, or to tab-delimited text file.

CurrPorts also automatically mark with pink color suspicious TCP/UDP ports owned by unidentified applications(Applications without version information and icons).

Download CurrPorts
Download CurrPorts for 64bit

Please let me know if anything is not working properly. See you all in next post. Good Luck. ;)


Thursday, August 30, 2012

Track Your Stolen Laptop, Smart Phone



What would you do if someone steals your notebook or smart phone with its precious or sensitive data that comprises your digital, personal and work life?

Prey is a lightweight tracking software that helps you find, lock and recover your device when stolen or missing. It is open-source and available for Windows, Mac OS X, Linux and Android.


How Prey works:

Prey tracking software runs in the background processes of your notebook. It "wakes" at a specified interval, goes online (if your laptop isn't already connected to the Internet, Prey tries to connect to the nearest open Wi-Fi access point) and checks in with a specified Web address to see what you have ordered it to do. If said address doesn't issue a command to the laptop (such as telling your computer that it is considered stolen), the Prey software returns to sleep and will wake up again at the next time interval.

If your laptop is stolen, you can use another computer to sign in to the Prey Web site, mark the laptop as missing, and follow the whereabouts of your purloined system through a control panel -- assuming the thief takes your notebook online or the software manages to connect to a Wi-Fi access point. 
(Read More: preyproject.com)

Video Guide: vimeo.com/18728980
Download Prey: Official Site

Saturday, August 4, 2012

Hide Files Inside of Image Files

1. Create a new folder on your HDD,
   Example: I create a folder in my D: drive and rename it as "Lesson". ( D:\Lesson )
* It better you follow my blue colored examples if you are a n00b.

2. Then drop the file(s) that you need to hide, into that folder. And also, place the image that you'll be using to hide the files in. In my case I have want to hide a text file ( Test.txt ) file inside a image file( Image.jpg ). So I put both files into D:\Lesson folder.

3. Now select the file(s) that you want to hide. Only select the files you want to hide, not the picture. (In my case I select only the Text.txt file.) Right-click on them; and choose the option to add them to a compressed RAR file. In order to accomplish this task, you will need to have either archiving or compression program such as WinRAR installed on your computer.

Name this RAR file whatever you want. I renamed it as “Secret.rar”.

4. Now click on Start, and then click on Run ( or press Windows Key + "r" ). It will open-up the run dialog box. In there type “CMD” without the quotes and press Enter.
It will pop-up the command prompt window.
Use "cd" command on command prompt to change the current working directory of the CMD in to your folder that contain the secret files. As my example I type cd D:\Lesson to get to the "Lesson" directory in D: drive.

5. If you successfully move to your folder on CMD, then type the following line:
"copy /b NameOfTheImage.JPG + NameOfZIPorRAR.rar NameOfNewSecretImage.jpg" ( without "s ) and press Enter.

In my example;
copy /b Image.JPG + Secret.rar SecretImage.jpg

If you success it will say "1file(s) copied.".

And that’s it! The image file will have been updated with the compressed archive inside! You can actually check the file size of the picture and see that it has increased by the same amount as the size of the archive. Now You can delete all other files except the SecretImage.jpg ( Newly build secret image. ).

You can access your hidden file(s) by simply change the extension to .RAR and open the file using WinRAR.
Then your hidden files show up and you can extract them out.
It may sound like a lot of work, but it's a pretty simple. That is all it takes to hide files inside JPG picture files! It’s a great way simply because not many people know it’s possible and no one even thinks about a picture as having to the ability to “hide” files. This is only a tiny trick. A kind of a foolproof method. But if you want to get really serious about encryption, you'll want to encrypt your data with TrueCrypt.

Good luck and keep exploring..!! ;)

Anonymous Browsing - An Introuduction to Tor

Surfing the internet securely through VPN or web proxy might do the tactic for some individuals who concern about the online privacy. Tor is a tool bundle for organizations and individuals that want to improve their safety & security on the web. It is enable online anonymity. You can perform anonymous web surfing,  publishing, instant msging, and any other utility that use the TCP protocol.

Tor design to maintain safeguard against traffic analysis, a form of network surveillance that threatens personal anonymity and privacy, confidential business activities and relationships, and state security. Tor short for The Onion Router. It is free and open source for Windows, Mac, Linux/Unix, and Android. Download Tor from Tor official web site and assure your privacy.


Saturday, January 14, 2012

Activate Hidden Admin in Win 7

Windows 7 has a built-in administrator account but its disabled by default for security purposes.This built-in administrator account is an account that has full unrestricted access and permission on the computer, and will not be prompted by UAC. You might want to enable it for troubleshooting or to get rid of the annoying UAC prompts while tweaking your system. It can be made activate by another activated  administrator. It is not recommended to leave the built-in Administrator account always enabled, or use it all the time for just everyday purposes. This post will show you how to enable or disable this account.

1. Go to Start-> All Programs -> Accessories.

2. Type "cmd" in start menu search box and press “Ctrl+Shift+Enter“ to
run the command prompt as administrator. If you are prompted to enter password, enter the password and continue.

3. Type following command in command prompt and hit Enter.
net user administrator /active:yes 

4. You should see a message that the command completed successfully. The Administrator account will be enabled. Log out, and you'll now see the Administrator account. There's no password for this account. So setup a strong password if you hope to make enable hereafter.

5. If you want to disable it again, this is the command:
net user administrator /active:no (simply replace "yes" with "no" in previous command)

I hope this will help you and  please leave a comment. 

Wednesday, December 28, 2011

What does a malicious Hacker do?

Hackers typically approach an attack using five common phases. Reconnaissance, Scanning, Gaining Access, Maintaining Access and Clearing Tracks. After erasing tracks the hacker terminates the connection. This information is useful for network administrators, and essential for network security consultants.






Reconnaissance(rattling the door knobs" to see if someone is watching and responce)
This is the Preparatory Phase. Attacker seeks to gather as much information about the target before launching the attack. They perform routine and detailed reconnaissance.

There are two types of reconnaissance; Passive reconnaissance are Active reconnaissance

Passive reconnaissance: Acquiring information without directly interacting with the target
Example:  Google Searching, Searching Public Records

Active reconnaissance: Acquiring information interacting with the target directly.
Example: Telephone call to the help desk or technical department (Social Engineering), Dumpster Diving

Scanning
This is the Pre-attack Phase. Hackers want to learn more about network mapping, phone system structure, and internal informational architecture of the target. Using gathered information during reconnaissance, the hacker scans the network for more specific information.
In this phase they use some tools for scan vulnerabilities of the system.

Gaining Access
This is the Penetration Phase. This phase of attack is the most important and the most dangerous. The hacker exploits the vulnerabilities in the system. Open ports can lead to a hacker gaining direct access to services and possibly to internal network connections.

Maintaining Access
Hackers may choose to continue attacking and exploiting the target system, or to explore deeper into the target network and look for more systems and services. In this phase the hacker tries to retain his ownership of the system. The hacker has compromised the system. Hacker may harden the system from other hackers as well by securing their exclusive access with Backdoors, Rootkits, or Trojans.


Clearing Tracks

In this phase the hacker clears his footprints and tracks. He undertakes to remove evidence for hide his misdeeds.

The more the hacker learns about your internal operations means the more likely he will be intrude and exploit. So be Secure.

I hope this post will help you and please leave a comment.

Sunday, December 25, 2011

Ever wanted to know who your friend's crushes are?

Ever wondered who your friend secretly likes/ loves? Is your girlfriend or boyfriend really true to you?
With this Love Calculator, you can finally find it out. Only thing you should do is send an email or chat message to your friend, including customized Love Calculator link (This link will generate from CrushBit.com for your e-mail address)   saying that you tried this Love Calculator which worked very well for you and would like him/her to try it out too. Your job is over. The exciting part will goes to CrushBit.com. Your friend will be told, to enter the names of his/her crushes so that we can make some predictions. As soon as your friend fills in his/her crush list, the names would automatically be mailed to your inbox! BANG!!!!!!!!!!!
Click here to get started

TrueCrypt

TrueCript is a free open-source disk encryption software for Windows 7/Vista/XP, Mac OS X, and Linux. It is a ultimate freeware encryption program, TrueCrypt is loaded with powerful features that users concerned with protecting data from prying eyes will find robust and comprehensive. It has 11 algorithms for encrypting your private files in a password-protected volume. You can store your encrypted data in files (containers) or partitions (devices).
Encryption is automatic, real-time (on-the-fly) and transparent. Parallelization and pipelining allow data to be read and written as fast as if the drive was not encrypted. Newer features include hardware acceleration for some Intel chips, auto-mounting, and convenience improvements for when you "favorite" an encrypted volume have improved both performance and usability. Users can even create a hidden operating system.

Download TrueCrypt

Cryptography

Cryptography is a method of transmitting or storing secret messages where only intended recipient can read and process them. It is the science of writing in secret code and is an ancient art. It can be used to ensure Confidentiality, Integrity and Authenticity. The readable data(Clear Text/ Plain Text) converts into unreadable format(Cipher Text) using Encryption/Enciphering Algorithm. Encryption/Enciphering Algorithm is a set of rules dictating how enciphering and deciphering takes place. There are many types of algorithms. Blowfish, Des, Enigma, Gost, Loki97, ReipleDes, Xtea, etc.. There is a random variable called Crypto Variable/Key(a sequence of bits) which gives secrecy to the whole process. Only sender and the intended receiver should have the key. The intended recipient can Decrypt/Decipher using that Crypto Variable/Key.


Example:

Plane Text: The Technical Avenue
Algorithm: BlowFish
Key: 3

Cipher Text: 5T3jLYKbWglAp1S2cYGuVdTR1iMREeWt

The first documented use of cryptography in writing dates back to circa 1900 B.C. Julius Caesar developed a method of sending secret messages by substituting each letter in the message by a letter which is three positions ahead in the alphabet. (Rotation-3 or ROT-3 cipher)

Example:
Cipher Text: wkh whfkqlfdo dyhqxh
Key: 3
Plane Text: The Technical Avenue

 There are many more types of Cryptosystems available.
Vigenere Cipher, Vernam Cipher(One-Time Pad), Running Key Cipher, etc..

Encrypted messages can sometimes be broken by cryptanalysis, also called codebreaking, although modern cryptography techniques are virtually unbreakable.

The First Virus

Elk Cloner is the first virus on microcomputers were on the Apple II, circa 1982.It is a "boot sector" virus. Rich Skrenta, who was ninth-grade student wrote this virus.
Elk Cloner was stored on floppy diskettes. When a computer booted from a floppy disk infected with Elk Cloner, the virus would start, and would subsequently copy itself to any uninfected floppy disk that was accessed. Because computers of that time had dual floppy disk drives, and because diskettes were often passed around among friends. And the other major part is on every 50th booting, the virus would display a short "poem".

"It will get on all your disks
It will infiltrate your chips
Yes, it's Cloner!

It will stick to you like glue
It will modify RAM too
Send in the Cloner!"

Saturday, December 24, 2011

How to Remove Facebook Virus

Millions of Facebook accounts are being affected by a virus subjecting viewers to hardcore porn and violent images. They are appearing as updates in Facebook’s News Feed. It gets posted in your name to all your friends if you click on it.








The virus we’re talking about :



Obviously it spreads once you click on it, so avoid clicking on it at the first place.



How to remove Facebook virus:

This virus posting on your friends profiles being done through a malfunctioned extension installed on your browser. You can simply remove that extension from your web browser. Extension name is "Youtube Extension"(or similar kind of name).

This is the extension(In Firefox):






The extension name can be different. But you can easily find this malfunctioned extension.

How to Remove:

In Google Chrome: Go to Tools > Extensions and remove the extension "Youtube extension".
In Firefox: Go to "Firefox" menu and click on Add-ons. Remove the extension "Youtube extension" from there.

If you have any problems with removing this malfunctioned extension, let me know. I hope this will help you and  please leave a comment.

Hackers

Several definitions..,

1. A person who enjoys exploring the details of programmable systems and how to stretch their capabilities.

2. Someone who likes to tinker with electronics or computer systems.

3. [deprecated] A malicious meddler who tries to discover sensitive information by poking around. The correct term for this sense is "cracker."

Any way hackers like to explore and learn how computer systems work, finding ways to make them do what they do better, or do things they weren’t intended to do. There are two major types of hackers. Black Hats and White Hats.

Black Hats: These are considered as the villains or the bad guys. Black hat hackers usually use their skills maliciously for personal gain. They are the people that hack banks, steal credit cards, and deface websites.

White Hats: These are considered the good guys. White hat hackers don’t use their skills for illegal purposes. They perform hacking for legitimate reasons. They usually become Computer Security experts and help protect people from the Black Hats.
e.g. IT Security technicians testing their systems and researchers testing the limits of systems.

(These two terms came from the old western movies where the good guys wore white hats and the bad guys wore black hats.)

And also there is a hierarchy,

 Script kiddies:
These are the wannabe hackers. They are looked down upon in the hacker community because they are the people that make hackers look bad. Script kiddies usually have no hacking skills and use the tools developed by other hackers without any knowledge of what’s happening behind the scenes.

Intermediate hackers:
These people usually know about computers, networks, and have enough programming knowledge to understand relatively what a script might do, but like the script kiddies they use pre-developed well-known exploits (- a piece of code that takes advantage of a bug or vulnerability in a piece of software that allows you to take control of a computer system) to carry out attacks

Elite Hackers:
These are the skilled hackers. They are the ones that write the many hacker tools and exploits out there. They can break into systems and hide their tracks or make it look like someone else did it. You should strive to eventually reach this level.

(50me DeF1n1710n2 kaP7urEd PhR0M 73h h4x0R3R5 und3r9r0UNd)