enumsecproducts.c 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681
  1. #include <windows.h>
  2. #include <stdbool.h>
  3. #include <stdio.h>
  4. #include <wtsapi32.h>
  5. #include "enumsecproducts.h"
  6. #include "beacon.h"
  7. typedef struct {
  8. const char *filename;
  9. const char *description;
  10. const char *category;
  11. } SoftwareData;
  12. //START TrustedSec BOF print code: https://github.com/trustedsec/CS-Situational-Awareness-BOF/blob/master/src/common/base.c
  13. #ifndef bufsize
  14. #define bufsize 8192
  15. #endif
  16. char *output = 0;
  17. WORD currentoutsize = 0;
  18. HANDLE trash = NULL;
  19. int bofstart();
  20. void internal_printf(const char* format, ...);
  21. void printoutput(BOOL done);
  22. int bofstart() {
  23. output = (char*)MSVCRT$calloc(bufsize, 1);
  24. currentoutsize = 0;
  25. return 1;
  26. }
  27. void internal_printf(const char* format, ...){
  28. int buffersize = 0;
  29. int transfersize = 0;
  30. char * curloc = NULL;
  31. char* intBuffer = NULL;
  32. va_list args;
  33. va_start(args, format);
  34. buffersize = MSVCRT$vsnprintf(NULL, 0, format, args);
  35. va_end(args);
  36. if (buffersize == -1) return;
  37. char* transferBuffer = (char*)KERNEL32$HeapAlloc(KERNEL32$GetProcessHeap(), HEAP_ZERO_MEMORY, bufsize);
  38. intBuffer = (char*)KERNEL32$HeapAlloc(KERNEL32$GetProcessHeap(), HEAP_ZERO_MEMORY, buffersize);
  39. va_start(args, format);
  40. MSVCRT$vsnprintf(intBuffer, buffersize, format, args);
  41. va_end(args);
  42. if(buffersize + currentoutsize < bufsize)
  43. {
  44. MSVCRT$memcpy(output+currentoutsize, intBuffer, buffersize);
  45. currentoutsize += buffersize;
  46. } else {
  47. curloc = intBuffer;
  48. while(buffersize > 0)
  49. {
  50. transfersize = bufsize - currentoutsize;
  51. if(buffersize < transfersize)
  52. {
  53. transfersize = buffersize;
  54. }
  55. MSVCRT$memcpy(output+currentoutsize, curloc, transfersize);
  56. currentoutsize += transfersize;
  57. if(currentoutsize == bufsize)
  58. {
  59. printoutput(FALSE);
  60. }
  61. MSVCRT$memset(transferBuffer, 0, transfersize);
  62. curloc += transfersize;
  63. buffersize -= transfersize;
  64. }
  65. }
  66. KERNEL32$HeapFree(KERNEL32$GetProcessHeap(), 0, intBuffer);
  67. KERNEL32$HeapFree(KERNEL32$GetProcessHeap(), 0, transferBuffer);
  68. }
  69. void printoutput(BOOL done) {
  70. char * msg = NULL;
  71. BeaconOutput(CALLBACK_OUTPUT, output, currentoutsize);
  72. currentoutsize = 0;
  73. MSVCRT$memset(output, 0, bufsize);
  74. if(done) {MSVCRT$free(output); output=NULL;}
  75. }
  76. //END TrustedSec BOF print code.
  77. void go(char *args, int len) {
  78. CHAR *hostName = "";
  79. HANDLE handleHost = NULL;
  80. datap parser;
  81. DWORD argSize = NULL;
  82. WTS_PROCESS_INFOA * proc_info;
  83. DWORD pi_count = 0;
  84. LPSTR procName;
  85. bool foundSecProduct = false;
  86. BeaconDataParse(&parser, args, len);
  87. hostName = BeaconDataExtract(&parser, &argSize);
  88. if(!bofstart()) return;
  89. //allocate memory for list
  90. size_t numSoftware = 130; //130
  91. SoftwareData *softwareList = (SoftwareData *)KERNEL32$VirtualAlloc(NULL, numSoftware * sizeof(SoftwareData), MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
  92. if (softwareList == NULL) {
  93. BeaconPrintf(CALLBACK_ERROR, "Failed to allocate memory for softwareList.\n");
  94. return -1;
  95. }
  96. //Start security product list
  97. softwareList[0].filename = "avastsvc.exe";
  98. softwareList[0].description = L"Avast";
  99. softwareList[0].category = L"AV";
  100. softwareList[1].filename = "avastui.exe";
  101. softwareList[1].description = L"Avast";
  102. softwareList[1].category = L"AV";
  103. softwareList[2].filename = "avgnt.exe";
  104. softwareList[2].description = L"Avira";
  105. softwareList[2].category = L"AV";
  106. softwareList[3].filename = "avguard.exe";
  107. softwareList[3].description = L"Avira";
  108. softwareList[3].category = L"AV";
  109. softwareList[4].filename = "avp.exe";
  110. softwareList[4].description = L"Kaspersky";
  111. softwareList[4].category = L"AV";
  112. softwareList[5].filename = "axcrypt.exe";
  113. softwareList[5].description = L"AxCrypt";
  114. softwareList[5].category = L"Encryption";
  115. softwareList[6].filename = "bdagent.exe";
  116. softwareList[6].description = L"Bitdefender Total Security";
  117. softwareList[6].category = L"AV";
  118. softwareList[7].filename = "carbonsensor.exe";
  119. softwareList[7].description = L"VMware Carbon Black EDR";
  120. softwareList[7].category = L"EDR";
  121. softwareList[8].filename = "cbcomms.exe";
  122. softwareList[8].description = L"CrowdStrike Falcon Insight XDR";
  123. softwareList[8].category = L"XDR";
  124. softwareList[9].filename = "ccsvchst.exe";
  125. softwareList[9].description = L"Symantec Endpoint Protection";
  126. softwareList[9].category = L"AV";
  127. softwareList[10].filename = "cpd.exe";
  128. softwareList[10].description = L"Check Point Daemon";
  129. softwareList[10].category = L"Security";
  130. softwareList[11].filename = "cpx.exe";
  131. softwareList[11].description = L"SentinelOne Singularity XDR";
  132. softwareList[11].category = L"XDR";
  133. softwareList[12].filename = "csfalconservice.exe";
  134. softwareList[12].description = L"CrowdStrike Falcon Insight XDR";
  135. softwareList[12].category = L"XDR";
  136. softwareList[13].filename = "cybereason.exe";
  137. softwareList[13].description = L"Cybereason EDR";
  138. softwareList[13].category = L"EDR";
  139. softwareList[14].filename = "cytomicendpoint.exe";
  140. softwareList[14].description = L"Cytomic Orion";
  141. softwareList[14].category = L"Security";
  142. softwareList[15].filename = "dlpagent.exe";
  143. softwareList[15].description = L"Symantec DLP Agent";
  144. softwareList[15].category = L"DLP";
  145. softwareList[16].filename = "dlpsensor.exe";
  146. softwareList[16].description = L"McAfee DLP Sensor";
  147. softwareList[16].category = L"DLP";
  148. softwareList[17].filename = "dsmonitor.exe";
  149. softwareList[17].description = L"DriveSentry";
  150. softwareList[17].category = L"Security";
  151. softwareList[18].filename = "dwengine.exe";
  152. softwareList[18].description = L"DriveSentry";
  153. softwareList[18].category = L"Security";
  154. softwareList[19].filename = "edpa.exe";
  155. softwareList[19].description = L"McAfee Endpoint Security";
  156. softwareList[19].category = L"AV";
  157. softwareList[20].filename = "egui.exe";
  158. softwareList[20].description = L"ESET NOD32 AV";
  159. softwareList[20].category = L"AV";
  160. softwareList[21].filename = "ekrn.exe";
  161. softwareList[21].description = L"ESET NOD32 AV";
  162. softwareList[21].category = L"AV";
  163. softwareList[22].filename = "firesvc.exe";
  164. softwareList[22].description = L"FireEye Endpoint Agent";
  165. softwareList[22].category = L"Security";
  166. softwareList[23].filename = "firetray.exe";
  167. softwareList[23].description = L"FireEye Endpoint Agent";
  168. softwareList[23].category = L"Security";
  169. softwareList[24].filename = "fortiedr.exe";
  170. softwareList[24].description = L"FortiEDR";
  171. softwareList[24].category = L"EDR";
  172. softwareList[25].filename = "fw.exe";
  173. softwareList[25].description = L"Check Point Firewall";
  174. softwareList[25].category = L"Firewall";
  175. softwareList[26].filename = "hips.exe";
  176. softwareList[26].description = L"Host Intrusion Prevention System";
  177. softwareList[26].category = L"HIPS";
  178. softwareList[27].filename = "kpf4ss.exe";
  179. softwareList[27].description = L"Kerio Personal Firewall";
  180. softwareList[27].category = L"Firewall";
  181. softwareList[28].filename = "mbamservice.exe";
  182. softwareList[28].description = L"Malwarebytes";
  183. softwareList[28].category = L"AV";
  184. softwareList[29].filename = "mbamtray.exe";
  185. softwareList[29].description = L"Malwarebytes";
  186. softwareList[29].category = L"AV";
  187. softwareList[30].filename = "mcshield.exe";
  188. softwareList[30].description = L"McAfee VirusScan";
  189. softwareList[30].category = L"AV";
  190. softwareList[31].filename = "mfefire.exe";
  191. softwareList[31].description = L"McAfee Host Intrusion Prevention";
  192. softwareList[31].category = L"HIPS";
  193. softwareList[32].filename = "msascuil.exe";
  194. softwareList[32].description = L"Windows Defender";
  195. softwareList[32].category = L"AV";
  196. softwareList[33].filename = "msmpeng.exe";
  197. softwareList[33].description = L"Windows Defender";
  198. softwareList[33].category = L"AV";
  199. softwareList[34].filename = "msseces.exe";
  200. softwareList[34].description = L"Microsoft Security Essentials";
  201. softwareList[34].category = L"AV";
  202. softwareList[35].filename = "nissrv.exe";
  203. softwareList[35].description = L"Microsoft Security Essentials";
  204. softwareList[35].category = L"AV";
  205. softwareList[36].filename = "outpost.exe";
  206. softwareList[36].description = L"Agnitum Outpost Firewall";
  207. softwareList[36].category = L"Firewall";
  208. softwareList[37].filename = "panda_url_filtering.exe";
  209. softwareList[37].description = L"Panda Security";
  210. softwareList[37].category = L"AV";
  211. softwareList[38].filename = "pavfnsvr.exe";
  212. softwareList[38].description = L"Panda Security";
  213. softwareList[38].category = L"AV";
  214. softwareList[39].filename = "pavsrv.exe";
  215. softwareList[39].description = L"Panda Security";
  216. softwareList[39].category = L"AV";
  217. softwareList[40].filename = "psanhost.exe";
  218. softwareList[40].description = L"Panda Security";
  219. softwareList[40].category = L"AV";
  220. softwareList[41].filename = "rtvscan.exe";
  221. softwareList[41].description = L"Symantec Endpoint Protection";
  222. softwareList[41].category = L"AV";
  223. softwareList[42].filename = "savservice.exe";
  224. softwareList[42].description = L"Sophos Endpoint Security";
  225. softwareList[42].category = L"AV";
  226. softwareList[43].filename = "shstat.exe";
  227. softwareList[43].description = L"McAfee VirusScan";
  228. softwareList[43].category = L"AV";
  229. softwareList[44].filename = "sophosav.exe";
  230. softwareList[44].description = L"Sophos Endpoint Security";
  231. softwareList[44].category = L"AV";
  232. softwareList[45].filename = "sophossps.exe";
  233. softwareList[45].description = L"Sophos Endpoint Security";
  234. softwareList[45].category = L"AV";
  235. softwareList[46].filename = "sophosui.exe";
  236. softwareList[46].description = L"Sophos Endpoint Security";
  237. softwareList[46].category = L"AV";
  238. softwareList[47].filename = "sysmon.exe";
  239. softwareList[47].description = L"Microsoft Sysmon";
  240. softwareList[47].category = L"Security";
  241. softwareList[48].filename = "tanclient.exe";
  242. softwareList[48].description = L"Tanium EDR";
  243. softwareList[48].category = L"EDR";
  244. softwareList[49].filename = "tmntsrv.exe";
  245. softwareList[49].description = L"Trend Micro OfficeScan";
  246. softwareList[49].category = L"AV";
  247. softwareList[50].filename = "tmproxy.exe";
  248. softwareList[50].description = L"Trend Micro OfficeScan";
  249. softwareList[50].category = L"AV";
  250. softwareList[51].filename = "trapsagent.exe";
  251. softwareList[51].description = L"Palo Alto Networks Cortex XDR";
  252. softwareList[51].category = L"XDR";
  253. softwareList[52].filename = "trapsd.exe";
  254. softwareList[52].description = L"Palo Alto Networks Cortex XDR";
  255. softwareList[52].category = L"XDR";
  256. softwareList[53].filename = "truecrypt.exe";
  257. softwareList[53].description = L"TrueCrypt";
  258. softwareList[53].category = L"Encryption";
  259. softwareList[54].filename = "vsserv.exe";
  260. softwareList[54].description = L"Bitdefender Total Security";
  261. softwareList[54].category = L"AV";
  262. softwareList[55].filename = "wrsa.exe";
  263. softwareList[55].description = L"Webroot Anywhere";
  264. softwareList[55].category = L"AV";
  265. softwareList[56].filename = "windefend.exe";
  266. softwareList[56].description = L"Windows Defender";
  267. softwareList[56].category = L"AV";
  268. softwareList[57].filename = "xagt.exe";
  269. softwareList[57].description = L"FireEye HX";
  270. softwareList[57].category = L"Security";
  271. softwareList[58].filename = "ahnsd.exe";
  272. softwareList[58].description = L"AhnLab V3 Internet Security";
  273. softwareList[58].category = L"AV";
  274. softwareList[59].filename = "amsiagent.exe";
  275. softwareList[59].description = L"Bromium AMSI Agent";
  276. softwareList[59].category = L"Security";
  277. softwareList[60].filename = "avkwctl.exe";
  278. softwareList[60].description = L"K7 Total Security";
  279. softwareList[60].category = L"AV";
  280. softwareList[61].filename = "avmailc.exe";
  281. softwareList[61].description = L"Avira MailGuard";
  282. softwareList[61].category = L"AV";
  283. softwareList[62].filename = "avgemc.exe";
  284. softwareList[62].description = L"AVG Email Scanner";
  285. softwareList[62].category = L"AV";
  286. softwareList[63].filename = "avgidsagent.exe";
  287. softwareList[63].description = L"AVG Identity Protection";
  288. softwareList[63].category = L"Security";
  289. softwareList[64].filename = "avkmgr.exe";
  290. softwareList[64].description = L"K7 Total Security";
  291. softwareList[64].category = L"AV";
  292. softwareList[65].filename = "avshadow.exe";
  293. softwareList[65].description = L"Avira Shadow Copy Service";
  294. softwareList[65].category = L"AV";
  295. softwareList[66].filename = "avwebgrd.exe";
  296. softwareList[66].description = L"Avira Web Protection";
  297. softwareList[66].category = L"AV";
  298. softwareList[67].filename = "bavtray.exe";
  299. softwareList[67].description = L"Baidu Antivirus";
  300. softwareList[67].category = L"AV";
  301. softwareList[68].filename = "bavupdat.exe";
  302. softwareList[68].description = L"Baidu Antivirus Updater";
  303. softwareList[68].category = L"AV";
  304. softwareList[69].filename = "bdredline.exe";
  305. softwareList[69].description = L"Bitdefender Redline";
  306. softwareList[69].category = L"AV";
  307. softwareList[70].filename = "bdsubwiz.exe";
  308. softwareList[70].description = L"Bitdefender Submission Wizard";
  309. softwareList[70].category = L"AV";
  310. softwareList[71].filename = "cfp.exe";
  311. softwareList[71].description = L"COMODO Firewall";
  312. softwareList[71].category = L"Firewall";
  313. softwareList[72].filename = "cmdagent.exe";
  314. softwareList[72].description = L"COMODO Internet Security";
  315. softwareList[72].category = L"AV";
  316. softwareList[73].filename = "csavtray.exe";
  317. softwareList[73].description = L"Centennial Endpoint Security";
  318. softwareList[73].category = L"AV";
  319. softwareList[74].filename = "csinsm32.exe";
  320. softwareList[74].description = L"Centennial Endpoint Security";
  321. softwareList[74].category = L"AV";
  322. softwareList[75].filename = "fprot.exe";
  323. softwareList[75].description = L"F-Prot Antivirus";
  324. softwareList[75].category = L"AV";
  325. softwareList[76].filename = "fpwin.exe";
  326. softwareList[76].description = L"F-Prot Antivirus";
  327. softwareList[76].category = L"AV";
  328. softwareList[77].filename = "frzstate2k.exe";
  329. softwareList[77].description = L"Faronics Deep Freeze";
  330. softwareList[77].category = L"Security";
  331. softwareList[78].filename = "gdatpagent.exe";
  332. softwareList[78].description = L"Symantec Data Loss Prevention";
  333. softwareList[78].category = L"DLP";
  334. softwareList[79].filename = "gfiarksvc.exe";
  335. softwareList[79].description = L"GFI LanGuard";
  336. softwareList[79].category = L"Security";
  337. softwareList[80].filename = "gfiarktray.exe";
  338. softwareList[80].description = L"GFI LanGuard";
  339. softwareList[80].category = L"Security";
  340. softwareList[81].filename = "hexisagent.exe";
  341. softwareList[81].description = L"Hexis HawkEye G";
  342. softwareList[81].category = L"EDR";
  343. softwareList[82].filename = "hexiscybereye.exe";
  344. softwareList[82].description = L"Hexis CyberEye";
  345. softwareList[82].category = L"Security";
  346. softwareList[83].filename = "k7avtray.exe";
  347. softwareList[83].description = L"K7 Total Security";
  348. softwareList[83].category = L"AV";
  349. softwareList[84].filename = "k7rtscan.exe";
  350. softwareList[84].description = L"K7 Total Security";
  351. softwareList[84].category = L"AV";
  352. softwareList[85].filename = "k7uascan.exe";
  353. softwareList[85].description = L"K7 Total Security";
  354. softwareList[85].category = L"AV";
  355. softwareList[86].filename = "k7upschdl.exe";
  356. softwareList[86].description = L"K7 Total Security";
  357. softwareList[86].category = L"AV";
  358. softwareList[87].filename = "k7wscsvc.exe";
  359. softwareList[87].description = L"K7 Total Security";
  360. softwareList[87].category = L"AV";
  361. softwareList[88].filename = "k7wscwiz.exe";
  362. softwareList[88].description = L"K7 Total Security";
  363. softwareList[88].category = L"AV";
  364. softwareList[89].filename = "languard.exe";
  365. softwareList[89].description = L"GFI LanGuard";
  366. softwareList[89].category = L"Security";
  367. softwareList[90].filename = "mbae.exe";
  368. softwareList[90].description = L"Malwarebytes Anti-Exploit";
  369. softwareList[90].category = L"Security";
  370. softwareList[91].filename = "nxclient.exe";
  371. softwareList[91].description = L"Nexusguard Endpoint Protection";
  372. softwareList[91].category = L"AV";
  373. softwareList[92].filename = "nxtray.exe";
  374. softwareList[92].description = L"Nexusguard Endpoint Protection";
  375. softwareList[92].category = L"AV";
  376. softwareList[93].filename = "panda_tpsrv.exe";
  377. softwareList[93].description = L"Panda Security";
  378. softwareList[93].category = L"AV";
  379. softwareList[94].filename = "pcmaticrt.exe";
  380. softwareList[94].description = L"PC Matic Real-Time";
  381. softwareList[94].category = L"AV";
  382. softwareList[95].filename = "pcmatrtsystray.exe";
  383. softwareList[95].description = L"PC Matic";
  384. softwareList[95].category = L"AV";
  385. softwareList[96].filename = "pclxav.exe";
  386. softwareList[96].description = L"PC-Linq AntiVirus";
  387. softwareList[96].category = L"AV";
  388. softwareList[97].filename = "pcmaticsvc.exe";
  389. softwareList[97].description = L"PC Matic";
  390. softwareList[97].category = L"AV";
  391. softwareList[98].filename = "qhpserver.exe";
  392. softwareList[98].description = L"Qihoo 360 Total Security";
  393. softwareList[98].category = L"AV";
  394. softwareList[99].filename = "qihoo_ts.exe";
  395. softwareList[99].description = L"Qihoo 360 Total Security";
  396. softwareList[99].category = L"AV";
  397. softwareList[100].filename = "sbamsvc.exe";
  398. softwareList[100].description = L"VIPRE Antivirus";
  399. softwareList[100].category = L"AV";
  400. softwareList[101].filename = "sbamtray.exe";
  401. softwareList[101].description = L"VIPRE Antivirus";
  402. softwareList[101].category = L"AV";
  403. softwareList[102].filename = "sbamui.exe";
  404. softwareList[102].description = L"VIPRE Antivirus";
  405. softwareList[102].category = L"AV";
  406. softwareList[103].filename = "sfc.exe";
  407. softwareList[103].description = L"System File Checker";
  408. softwareList[103].category = L"Security";
  409. softwareList[104].filename = "smc.exe";
  410. softwareList[104].description = L"Symantec Endpoint Protection";
  411. softwareList[104].category = L"AV";
  412. softwareList[105].filename = "sophoscleaner.exe";
  413. softwareList[105].description = L"Sophos Virus Removal Tool";
  414. softwareList[105].category = L"AV";
  415. softwareList[106].filename = "sophoshealth.exe";
  416. softwareList[106].description = L"Sophos Endpoint Security";
  417. softwareList[106].category = L"AV";
  418. softwareList[107].filename = "sophosinstaller.exe";
  419. softwareList[107].description = L"Sophos Endpoint Security";
  420. softwareList[107].category = L"AV";
  421. softwareList[108].filename = "sophosmcsagentd.exe";
  422. softwareList[108].description = L"Sophos Endpoint Security";
  423. softwareList[108].category = L"AV";
  424. softwareList[109].filename = "sophosntivirus.exe";
  425. softwareList[109].description = L"Sophos Endpoint Security";
  426. softwareList[109].category = L"AV";
  427. softwareList[110].filename = "swdoctor.exe";
  428. softwareList[110].description = L"Spyware Doctor";
  429. softwareList[110].category = L"AV";
  430. softwareList[111].filename = "swupdate.exe";
  431. softwareList[111].description = L"Spyware Doctor";
  432. softwareList[111].category = L"AV";
  433. softwareList[112].filename = "symcorpui.exe";
  434. softwareList[112].description = L"Symantec Endpoint Protection";
  435. softwareList[112].category = L"AV";
  436. softwareList[113].filename = "symerr.exe";
  437. softwareList[113].description = L"Symantec Endpoint Protection";
  438. softwareList[113].category = L"AV";
  439. softwareList[114].filename = "symlcsvc.exe";
  440. softwareList[114].description = L"Symantec Endpoint Protection";
  441. softwareList[114].category = L"AV";
  442. softwareList[115].filename = "symwsc.exe";
  443. softwareList[115].description = L"Symantec Endpoint Protection";
  444. softwareList[115].category = L"AV";
  445. softwareList[116].filename = "tsmains.exe";
  446. softwareList[116].description = L"Tencent PC Manager";
  447. softwareList[116].category = L"AV";
  448. softwareList[117].filename = "tsvncache.exe";
  449. softwareList[117].description = L"Tencent PC Manager";
  450. softwareList[117].category = L"AV";
  451. softwareList[118].filename = "umbrella.exe";
  452. softwareList[118].description = L"Cisco Umbrella";
  453. softwareList[118].category = L"Security";
  454. softwareList[119].filename = "umbrella_roamingclient.exe";
  455. softwareList[119].description = L"Cisco Umbrella Roaming Client";
  456. softwareList[119].category = L"Security";
  457. softwareList[120].filename = "viprerestart.exe";
  458. softwareList[120].description = L"VIPRE Antivirus";
  459. softwareList[120].category = L"AV";
  460. softwareList[121].filename = "vpc.exe";
  461. softwareList[121].description = L"Virus Protection Center";
  462. softwareList[121].category = L"AV";
  463. softwareList[122].filename = "webinspect.exe";
  464. softwareList[122].description = L"HP WebInspect";
  465. softwareList[122].category = L"Security";
  466. softwareList[123].filename = "webrootsecureanywhere.exe";
  467. softwareList[123].description = L"Webroot SecureAnywhere";
  468. softwareList[123].category = L"AV";
  469. softwareList[124].filename = "wpctrl.exe";
  470. softwareList[124].description = L"Webroot Parental Controls";
  471. softwareList[124].category = L"Security";
  472. softwareList[125].filename = "wpff.exe";
  473. softwareList[125].description = L"Webroot Parental Controls";
  474. softwareList[125].category = L"Security";
  475. softwareList[126].filename = "wscsvc.exe";
  476. softwareList[126].description = L"Windows Security Center";
  477. softwareList[126].category = L"Security";
  478. softwareList[127].filename = "zanda.exe";
  479. softwareList[127].description = L"ZoneAlarm Antivirus";
  480. softwareList[127].category = L"AV";
  481. softwareList[128].filename = "zatutor.exe";
  482. softwareList[128].description = L"ZoneAlarm Antivirus";
  483. softwareList[128].category = L"AV";
  484. softwareList[129].filename = "zlclient.exe";
  485. softwareList[129].description = L"ZoneAlarm Security Suite";
  486. softwareList[129].category = L"AV";
  487. //End security product list
  488. //get handle to specified host
  489. handleHost = WTSAPI32$WTSOpenServerA(hostName);
  490. //get list of running processes
  491. if (!WTSAPI32$WTSEnumerateProcessesA(handleHost, 0, 1, &proc_info, &pi_count)) {
  492. BeaconPrintf(CALLBACK_ERROR, "Failed to get a valid handle to the specified host.\n");
  493. return -1;
  494. }
  495. if(pi_count == 0) {
  496. BeaconPrintf(CALLBACK_ERROR, "Couldn't list remote processes. Do you have enough privileges on the remote host?\n");
  497. return -1;
  498. }
  499. //compare list with running processes
  500. internal_printf("Description\t\t\t\t\tCategory\n==============================================================\n");
  501. for (int i = 0 ; i < pi_count ; i++ ) {
  502. procName = proc_info[i].pProcessName;
  503. for (size_t i = 0; procName[i]; i++) {
  504. procName[i] = MSVCRT$tolower(procName[i]);
  505. }
  506. for (size_t i = 0; i < numSoftware; i++) {
  507. if (MSVCRT$strcmp(procName, softwareList[i].filename) == 0) {
  508. internal_printf("%-50ls\t%ls\n", softwareList[i].description, softwareList[i].category);
  509. foundSecProduct = true;
  510. break;
  511. }
  512. }
  513. procName = NULL;
  514. }
  515. if (foundSecProduct) {
  516. printoutput(TRUE);
  517. } else {
  518. BeaconPrintf(CALLBACK_ERROR, "No running security processes were found.\n");
  519. }
  520. WTSAPI32$WTSCloseServer(handleHost);
  521. KERNEL32$VirtualFree(softwareList, 0, MEM_RELEASE);
  522. return 0;
  523. }