StartMenuAnalysisRoutine analyse system artefacts every 15 seconds
(pQuarantine string, pKill bool, pNotifications bool, pVerbose bool, pInfiniteLoop bool, rules *yara.Rules)
| 12 | |
| 13 | // StartMenuAnalysisRoutine analyse system artefacts every 15 seconds |
| 14 | func StartMenuAnalysisRoutine(pQuarantine string, pKill bool, pNotifications bool, pVerbose bool, pInfiniteLoop bool, rules *yara.Rules) { |
| 15 | for { |
| 16 | lnk, errors := ListStartMenuLnkPersistence(pVerbose) |
| 17 | if errors != nil && pVerbose { |
| 18 | for _, err := range errors { |
| 19 | logMessage(LOG_ERROR, "[ERROR]", err) |
| 20 | } |
| 21 | } |
| 22 | |
| 23 | for _, l := range lnk { |
| 24 | paths := FormatPathFromComplexString(l) |
| 25 | for _, p := range paths { |
| 26 | FileAnalysis(p, pQuarantine, pKill, pNotifications, pVerbose, rules, "STARTMENU") |
| 27 | } |
| 28 | } |
| 29 | |
| 30 | if !pInfiniteLoop { |
| 31 | wg.Done() |
| 32 | break |
| 33 | } else { |
| 34 | time.Sleep(15 * time.Second) |
| 35 | } |
| 36 | } |
| 37 | } |
| 38 | |
| 39 | // ListStartMenuFolders return a []string of all available StartMenu folders |
| 40 | func ListStartMenuFolders(verbose bool) (startMenu []string, err error) { |
no test coverage detected