Sage 50 Payroll 2012 Authentication Bypass



Similar documents
Restoring Sage Data Sage 200

Set Up Instructions

DISTRICT SCHOOL BOARD OF COLLIER COUNTY. Internet Technology. Setting up VPN Access Windows 7. Revised

How to connect to the diamonds wireless network with Vista.

Creating client-server setup with multiple clients

Configuring Windows 7 to Use Encrypted (WPA-E) Wireless Services a...

Configuring Outlook Express

Deployment of Keepit for Windows

USING CAMPUS ANYWARE OVER THE VPN (WINDOWS XP)

Setting up your Endicia Account.

Computer Science and Engineering Windows Cisco VPN Client Installation and Setup Guide

All Windows Installations Guide Contents

TECHNICAL NOTE. The following information is provided as a service to our users, customers, and distributors.

Instruction Guide. People First Dependent Certification Process

Accessing the Media General SSL VPN

Creating a User Profile for Outlook 2013

Use the following guide to install and setup RF500A Backup on your PC or Server.

MSSQL quick start guide

University Computing & Telecommunications Virtual Private Networking: How To/Self- Help Guide Windows 8.1 Operating System.

Linux Development Environment Description Based on VirtualBox Structure

Outlook 2010 Setup Guide (POP3)

How To Deploy Lync 2010 Client Using SCCM 2012 R2

NeoMail Guide. Neotel (Pty) Ltd

Click Studios. Passwordstate. Installation Instructions

Phone: Fax: Box: 230

Disabling Microsoft SharePoint in order to install the OneDrive for Business Client

Installation Guides - Information required for connection to the Goldfields Institute s (GIT) Wireless Network

Backing up with Windows 7

Hallpass Instructions for Connecting to Mac with a Mac

Outlook Express. Make Changes in Red: Open up Outlook Express. From the Menu Bar. Tools to Accounts - Click on Mail Tab.

Moving/Restoring the StarShip SQL database

Automatic Setup... 1 Manual Setup... 2 Installing the Wireless Certificates... 18

Encrypting*a*Windows*7*Hard*Disk* with%bitlocker%disk%encryption!

Instructions for accessing the new TU wireless Network

Patriots Outlook Configuration

Specific Information for installation and use of the database Report Tool used with FTSW100 software.

Getting Started Configuring Your Computer Network Settings

Using TLS Encryption with Microsoft Outlook 2007

Secure Global Desktop (SGD)

Online Backup - Installation and Setup

Knights Outlook 2013 Configuration

Installation and Configuration of VPN Software

Knowledge Base. Setup GoogleApps in Outlook Pages. Zeumic Pty Ltd. PO Box 44 Kew, VIC Australia 3101

Installing SmartGate Remote Backup (Ahsay) Software

To add Citrix XenApp Client Setup for home PC/Office using the 32bit Windows client.

PaperClip. em4 Cloud Client. Manual Setup Guide

MiraCosta College now offers two ways to access your student virtual desktop.

How to set up Outlook Anywhere on your home system

TrueEdit Remote Connection Brief

Configuring Outlook for IMAP. Creating a New IMAP Account. Modify an Existing Account

SQLBackupAndFTP User Instructions (Rev 0.3) 9/14/10

SQL EXPRESS INSTALLATION...

English ETERNUS CS800 S3. Backup Exec OST Guide

RMS Cloud - Setup Instructions for Windows Computers

Windows Administration Terminal Services, AD and the Windows Registry. INLS 576 Spring 2011 Tuesday, February 24, 2011

1. Set Daylight Savings Time Create Migrator Account Assign Migrator Account to Administrator group... 4

Web Meetings through VPN. Note: Conductor means person leading the meeting. Table of Contents. Instant Web Meetings with VPN (Conductor)...

Versions Addressed: Microsoft Office Outlook 2010/2013. Document Updated: Copyright 2014 Smarsh, Inc. All right reserved

How to Move an SAP BusinessObjects BI Platform System Database and Audit Database

How do I use Citrix Staff Remote Desktop

The back story of our Wireless (reading will help you understand what is going on in the building):

Faculty/Staff instructions for connecting to the Hood College VPN to gain access to your office computer

Knights Outlook Configuration

ACT State Testing Online Services Tutorial

Windows XP Exchange Client Installation Instructions

Application Security Policy

How To Install Ru-Vpn On A Pc Or Macbook Or Ipad (For Macbook) With A Microsoft Macbook (For Pc) With An Ipad Or Ipa (For A Macbook). Pc (For An

Installing LearningBay Enterprise Part 2

Outlook 2010 and 2013

aprompt User Guide Setting up a Standard mailbox in Windows Mail

Setting up a Scheduled task to upload pupil records to ParentPay

How To Set Up Chime For A Coworker On Windows (Windows) With A Windows 7 (Windows 7) On A Windows 8.1 (Windows 8) With An Ipad (Windows).Net (Windows Xp

Exploring Organizational Security and Auditing

Outlook Express. Make Changes in Red: Open up Outlook Express. From the Menu Bar. Tools to Accounts - Click on. User Information

ScriptLogic File System Auditor User Guide

FLAMESTOP ADDRESSABLE SOFTWARE INSTALLATION MANUAL FOR PFS200 & PFSIFP8 FIRE PANELS

Using DC Agent for Transparent User Identification

Using the ECM VPN with Windows 7

QUANTIFY INSTALLATION GUIDE

How To Set Up Wireless Network Security Part 1: WEP Part 2: WPA-PSK Part 3-1: RADIUS Server Installation Part 3-2: 802.1x-TLS Part 3-3: WPA

Lightning Payroll Program Update and Backup

CREDENTIAL MANAGER IN WINDOWS 7

eduroam Overview and Device Configuration

Implementing Microsoft SQL Server 2008 Exercise Guide. Database by Design

Eduroam wireless network - Windows 7

CruzNet Secure Set-Up Instructions for Windows Vista

Using etoken for SSL Web Authentication. SSL V3.0 Overview

How to Use the Billericay School Portal

How to remotely access your Virtual Desktop from outside the college using VMware View Client. How to guide

Outlook Express. Make Changes in Red: Open up Outlook Express. From the Menu Bar. Tools to Accounts - Click on Mail Tab.

Setting up SJUMobile (Wireless Internet Access for personal devices)

Installation Guide for Pulse on Windows Server 2008R2

Instructions: Configuring Outlook 2003 with Exchange 2010 on the FIUMail

Remote Desktop access via Faculty Terminal Server Using Internet Explorer (versions 5.x-7.x)

Quick Reference Guide: Business Mail

How to configure your Windows PC post migrating to Microsoft Office 365

SSH Secure Client (Telnet & SFTP) Installing & Using SSH Secure Shell for Windows Operation Systems

Setting Up a Windows Virtual Machine for SANS FOR526

Transcription:

Sage 50 Payroll 2012 Authentication Bypass Version Number 18.00.031 SBD Desktop Version 2.0.0.160 Website http://www.sage.co.uk/sage-50-payroll Author Richard Davy Email rmdavy@rmdavy.karoo.co.uk Tools Immunity Debugger http://debugger.immunityinc.com/ Preamble Sage 50 Payroll offers three levels of security: 1) a password can be required to open the program 2) an individual username and password is then required to access the information stored in the database 3) database encryption The aim of this paper is, using Immunity Debugger to demonstrate how to bypass these levels of security. Let s get started- Setup Phase So, start by firing up Sage Payroll and the first thing that we will do is turn on database encryption. To do this we click on View and then Options

We then click on Encrypt Database and OK Next thing to do is to turn on the request for a password when we open the application. We achieve this by clicking on Tasks, Security and then Change Program Password. Enter a new password and then click ok

We will then add/change the Manager password. For those of you that don t know the MANAGER account in Sage is the top account and has highest level access. This is the account we are going for. So we click on Tasks, Security and Change Personal Password Enter a New Password and then Click OK Great, so we have now set up our authentication checks and it s now time to start finding a way around them! So quit Sage Payroll and start it up again.

The Fun Phase! Fire up Sage Payroll and you should be greeted with the following screen If you enter an incorrect password and click on OK, you are greeted with an error message This is actually the bit that we are interested in, because often when poor methods of authentication are put in place we can trace to before the messagebox is called and simply modify a conditional statement to force it to believe that we have entered the correct password. So how do we do this? On the logon screen I have entered a password of 446697 (my actual password is 321654). Whilst the Error Message is visible fire up Immunity Debugger and see whether the string of 446697 has been copied into memory or not. So from IM, let s attach to the Sage Process File/Attach

Click on Sage Payroll Log On which is the Title of our Log On window and then click on Attach Press Alt+M to bring up the Memory Map window and then Press Ctrl+B to bring up the search window. Enter 446697 (in my case) into the ASCII window and then click on OK The following box should pop up (note the memory locations will not be the same) Right Click on the first 34 and select Breakpoint, Memory, on Access

Go back to Sage Payroll and click OK to get rid of the error message and then click on OK again to reauthenticate. This time Immunity Debugger should step in and the memory breakpoint that we set should be triggered. Single Step through the code by pressing F8 until you reach As I am sure you can deduct, the password validation routine is held in this call there is a test to see whether to pop the error message or jump past it. and on its return We need to modify the code here to always jump and validate as ok. So double click on this line

And change the code to read JMP SHORT 65896AF& then click on Assemble and close the window. Your code should now look like To save this change permanently, right click on the code and select Copy to executable, selection and All Modifications

Click on Yes and then Save. If you continue the execution of the program via Immunity or close it and reopen it you will see that you can now enter any password in the box and that it will be accepted. Voila - Part one complete. We will now employ the same technique to bypass our Manager password. From our Log On screen I entered the password of 997766 and clicked on OK whilst the error box is open, fire up Immunity Debugger and attach as before and do a memory search for 997766.

This should reveal 997766 is memory. As before set a breakpoint and continue with program execution. Click on OK again to trigger the breakpoint and cycle to the code below. If you cycle to the line highlighted a message box will pop up which indicates that we need to trace the call here We do this by repeating the process but when we get to this line, we press F7 instead of F8 to Step Into instead of Step Over.

Repeat the above and step into the call using F7 and single step using F8 until you reach the following code Change the JE to JMP by double clicking to change the code. Click Assemble and then close the window. Save the data to file as detailed above. Voila - Part two complete If you close the Sage Payroll application and reopen it, you should now find that you no longer need the correct password for the program password or for logging on as Manager. Part 3 Database Encryption I mentioned above that the program also allows you to encrypt the database which, as you will see, reveals to be a completely pointless exercise as we can bypass any authentication forms.

Attack Vector A modified version of the SagePayrollUI.dll which is located in the Sage working directory could be placed on the victims machine which would allow for the attacker to come back at any time and have access or if it is possible to obtain a backup copy of a database a modified version could be copied to an attackers computer and the attacker could to view/amend data etc. at their leisure. Summary/Recommendations With regard to this program, users are made to feel secure and there are certainly areas for improvement. Anyone using this product certainly needs to be careful who can access backups as there is no real encryption. Care also needs to be taken as to who can access the computer which this software is installed on. The file locations and bytes which have been patched are listed below. For those that are wondering why there are three locations one of them corresponds to the error message when we try and change the program access password and we don t know the original password. 00019803 75 to EB 00035E9A 75 to EB 00036880 74 to EB