/
usr
/
share
/
lynis
/
include
/
/usr/share/lynis/include
mkdir
upload
Name
Size
Mode
Actions
binaries
39476
0644
edit
dl
rm
consts
10898
0644
edit
dl
rm
data_upload
13788
0644
edit
dl
rm
functions
163241
0644
edit
dl
rm
helper_audit_dockerfile
8000
0644
edit
dl
rm
helper_configure
3748
0644
edit
dl
rm
helper_generate
7557
0644
edit
dl
rm
helper_show
22820
0644
edit
dl
rm
helper_system_remote_scan
3620
0644
edit
dl
rm
helper_update
3671
0644
edit
dl
rm
osdetection
48570
0644
edit
dl
rm
parameters
16874
0644
edit
dl
rm
profiles
27540
0644
edit
dl
rm
report
18915
0644
edit
dl
rm
tests_accounting
25852
0644
edit
dl
rm
tests_authentication
86063
0644
edit
dl
rm
tests_banners
8562
0644
edit
dl
rm
tests_boot_services
56034
0644
edit
dl
rm
tests_containers
11439
0644
edit
dl
rm
tests_crypto
19456
0644
edit
dl
rm
tests_custom.template
6942
0644
edit
dl
rm
tests_databases
24863
0644
edit
dl
rm
tests_dns
3467
0644
edit
dl
rm
tests_filesystems
50995
0644
edit
dl
rm
tests_file_integrity
22714
0644
edit
dl
rm
tests_file_permissions
3185
0644
edit
dl
rm
tests_firewalls
32270
0644
edit
dl
rm
tests_hardening
7187
0644
edit
dl
rm
tests_homedirs
9392
0644
edit
dl
rm
tests_insecure_services
27528
0644
edit
dl
rm
tests_kerberos
8063
0644
edit
dl
rm
tests_kernel
61403
0644
edit
dl
rm
tests_kernel_hardening
5752
0644
edit
dl
rm
tests_ldap
4055
0644
edit
dl
rm
tests_logging
33726
0644
edit
dl
rm
tests_mac_frameworks
15067
0644
edit
dl
rm
tests_mail_messaging
21967
0644
edit
dl
rm
tests_malware
21101
0644
edit
dl
rm
tests_memory_processes
7334
0644
edit
dl
rm
tests_nameservices
35361
0644
edit
dl
rm
tests_networking
41705
0644
edit
dl
rm
tests_php
29772
0644
edit
dl
rm
tests_ports_packages
83692
0644
edit
dl
rm
tests_printers_spoolers
14188
0644
edit
dl
rm
tests_scheduling
16131
0644
edit
dl
rm
tests_shells
13643
0644
edit
dl
rm
tests_snmp
4273
0644
edit
dl
rm
tests_squid
17156
0644
edit
dl
rm
tests_ssh
18026
0644
edit
dl
rm
tests_storage
3680
0644
edit
dl
rm
tests_storage_nfs
8603
0644
edit
dl
rm
tests_system_integrity
2098
0644
edit
dl
rm
tests_time
33413
0644
edit
dl
rm
tests_tooling
22624
0644
edit
dl
rm
tests_usb
21554
0644
edit
dl
rm
tests_virtualization
1992
0644
edit
dl
rm
tests_webservers
33977
0644
edit
dl
rm
tool_tips
2205
0644
edit
dl
rm
Edit:
/usr/share/lynis/include/tests_malware
(21101B)
#!/bin/sh ################################################################################# # # Lynis # ------------------ # # Copyright (c) Michael Boelen, CISOfy, and many contributors. # # Website : https://cisofy.com # Blog : https://linux-audit.com/ # GitHub : https://github.com/CISOfy/lynis # # Lynis comes with ABSOLUTELY NO WARRANTY. This is free software, and you are # welcome to redistribute it under the terms of the GNU General Public License. # See LICENSE file for usage of this software. # ################################################################################# # # Malware scanners # ################################################################################# # InsertSection "${SECTION_MALWARE}" # ################################################################################# # AVAST_DAEMON_RUNNING=0 AVIRA_DAEMON_RUNNING=0 BITDEFENDER_DAEMON_RUNNING=0 CLAMD_RUNNING=0 CLAMSCAN_INSTALLED=0 CROWDSTRIKE_FALCON_SENSOR_RUNNING=0 ESET_DAEMON_RUNNING=0 FRESHCLAM_DAEMON_RUNNING=0 KASPERSKY_SCANNER_RUNNING=0 MCAFEE_SCANNER_RUNNING=0 MALWARE_SCANNER_INSTALLED=0 MALWARE_DAEMON_RUNNING=0 ROOTKIT_SCANNER_FOUND=0 SENTINELONE_SCANNER_RUNNING=0 SOPHOS_SCANNER_RUNNING=0 SYMANTEC_SCANNER_RUNNING=0 SYNOLOGY_DAEMON_RUNNING=0 TRENDMICRO_DSA_DAEMON_RUNNING=0 WAZUH_DAEMON_RUNNING=0 # ################################################################################# # # Test : MALW-3274 # Description : Check for installed tool (McAfee VirusScan for Command Line) Register --test-no MALW-3274 --weight L --network NO --category security --description "Check for McAfee VirusScan Command Line" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence McAfee VirusScan for Command Line" if [ -x /usr/local/uvscan/uvscan ]; then Display --indent 2 --text "- ${GEN_CHECKING} McAfee VirusScan for Command Line (deprecated)" --result "${STATUS_FOUND}" --color RED LogText "Result: Found ${MCAFEECLBINARY}" AddHP 0 2 LogText "Result: McAfee Antivirus for Linux has been deprecated as of 1 Oct 2023 and will not receive updates. Please use another antivirus instead." fi fi ################################################################################# # # Test : MALW-3275 # Description : Check for installed tool (chkrootkit) Register --test-no MALW-3275 --weight L --network NO --category security --description "Check for chkrootkit" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence chkrootkit" if [ -n "${CHKROOTKITBINARY}" ]; then Display --indent 2 --text "- ${GEN_CHECKING} chkrootkit" --result "${STATUS_FOUND}" --color GREEN LogText "Result: Found ${CHKROOTKITBINARY}" MALWARE_SCANNER_INSTALLED=1 ROOTKIT_SCANNER_FOUND=1 AddHP 2 2 Report "malware_scanner[]=chkrootkit" else LogText "Result: chkrootkit not found" fi fi # ################################################################################# # # Test : MALW-3276 # Description : Check for installed tool (Rootkit Hunter) Register --test-no MALW-3276 --weight L --network NO --category security --description "Check for Rootkit Hunter" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence Rootkit Hunter" if [ -n "${RKHUNTERBINARY}" ]; then Display --indent 2 --text "- ${GEN_CHECKING} Rootkit Hunter" --result "${STATUS_FOUND}" --color GREEN LogText "Result: Found ${RKHUNTERBINARY}" MALWARE_SCANNER_INSTALLED=1 ROOTKIT_SCANNER_FOUND=1 AddHP 2 2 Report "malware_scanner[]=rkhunter" else LogText "Result: Rootkit Hunter not found" fi fi # ################################################################################# # # Test : MALW-3278 # Description : Check for installed tool (Linux Malware Detect or LMD) Register --test-no MALW-3278 --weight L --network NO --category security --description "Check for LMD" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence LMD" if [ ! "${LMDBINARY}" = "" ]; then Display --indent 2 --text "- ${GEN_CHECKING} LMD (Linux Malware Detect)" --result "${STATUS_FOUND}" --color GREEN LogText "Result: Found ${LMDBINARY}" MALWARE_SCANNER_INSTALLED=1 AddHP 2 2 Report "malware_scanner[]=lmd" else LogText "Result: LMD not found" fi fi # ################################################################################# # # Test : MALW-3280 # Description : Check if an anti-virus tool is installed Register --test-no MALW-3280 --weight L --network NO --category security --description "Check if anti-virus tool is installed" if [ ${SKIPTEST} -eq 0 ]; then FOUND=0 # Avast (macOS) LogText "Test: checking process com.avast.daemon" if IsRunning --full "com.avast.daemon"; then FOUND=1 AVAST_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Avast daemon" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Avast security product" Report "malware_scanner[]=avast" fi # Avira LogText "Test: checking process Avira daemon" if IsRunning "avqmd"; then FOUND=1 AVIRA_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Avira daemon" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Avira security product" Report "malware_scanner[]=avira" fi # Bitdefender (macOS & Linux) LogText "Test: checking process Bitdefender daemon" if IsRunning "bdagentd" || IsRunning "epagd" || IsRunning "bdsecd"; then FOUND=1 BITDEFENDER_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Bitdefender daemon" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Bitdefender security product" Report "malware_scanner[]=bitdefender" fi # CrowdStrike falcon-sensor LogText "Test: checking process falcon-sensor (CrowdStrike)" if IsRunning "falcon-sensor"; then FOUND=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} falcon-sensor" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found falcon-sensor service" CROWDSTRIKE_FALCON_SENSOR_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=falcon-sensor" fi # Cylance (macOS) LogText "Test: checking process CylanceSvc" if IsRunning "CylanceSvc"; then FOUND=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} CylancePROTECT" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found CylancePROTECT service" AVAST_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=cylance-protect" fi # ESET security products LogText "Test: checking process esets_daemon or oaeventd (ESET)" if IsRunning "esets_daemon" || IsRunning "oaeventd"; then FOUND=1 ESET_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} ESET daemon" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found ESET security product" Report "malware_scanner[]=eset" fi # Kaspersky products LogText "Test: checking process wdserver or klnagent (Kaspersky)" # wdserver is too generic to match on, so we want to ensure that it is related to Kaspersky first if [ -x /opt/kaspersky/kesl/libexec/kesl_launcher.sh ]; then if IsRunning "wdserver"; then KASPERSKY_SCANNER_RUNNING=1; fi else if IsRunning "klnagent"; then KASPERSKY_SCANNER_RUNNING=1; fi fi if [ ${KASPERSKY_SCANNER_RUNNING} -eq 1 ]; then FOUND=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Kaspersky" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: Found Kaspersky" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=kaspersky" fi # McAfee products LogText "Test: checking process cma or cmdagent (McAfee)" # cma is too generic to match on, so we want to ensure that it is related to McAfee first if [ -x /opt/McAfee/cma/bin/cma ]; then if IsRunning "cma"; then MCAFEE_SCANNER_RUNNING=1; fi else if IsRunning "cmdagent"; then MCAFEE_SCANNER_RUNNING=1; fi fi if [ ${MCAFEE_SCANNER_RUNNING} -eq 1 ]; then FOUND=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} McAfee" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: Found McAfee" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=mcafee" fi # SentinelOne LogText "Text: checking process sentineld (SentinelOne)" if IsRunning "sentineld"; then SENTINELONE_SCANNER_RUNNING=1; fi # macOS if IsRunning "s1-agent"; then SENTINELONE_SCANNER_RUNNING=1; fi # Linux if IsRunning "SentinelAgent"; then SENTINELONE_SCANNER_RUNNING=1; fi # Windows if [ ${SENTINELONE_SCANNER_RUNNING} -eq 1 ]; then FOUND=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} SentinelOne" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: Found SentinelOne" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=sentinelone" fi # Sophos savscand/SophosScanD LogText "Test: checking process savscand" if IsRunning "savscand"; then FOUND=1 SOPHOS_SCANNER_RUNNING=1 fi LogText "Test: checking process SophosScanD" if IsRunning "SophosScanD"; then FOUND=1 SOPHOS_SCANNER_RUNNING=1 fi if [ ${SOPHOS_SCANNER_RUNNING} -eq 1 ]; then if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Sophos" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: Found Sophos" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=sophos" fi # Symantec rtvscand/smcd/symcfgd LogText "Test: checking process rtvscand" if IsRunning "rtvscand"; then SYMANTEC_SCANNER_RUNNING=1 fi LogText "Test: checking process Symantec management client service" if IsRunning "smcd"; then SYMANTEC_SCANNER_RUNNING=1 fi LogText "Test: checking process Symantec Endpoint Protection configuration service" if IsRunning "symcfgd"; then SYMANTEC_SCANNER_RUNNING=1 fi if [ ${SYMANTEC_SCANNER_RUNNING} -eq 1 ]; then if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Symantec" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found one or more Symantec components" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 FOUND=1 Report "malware_scanner[]=symantec" fi # Synology Antivirus Essential LogText "Test: checking process synoavd" if IsRunning "synoavd"; then FOUND=1 SYNOLOGY_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Synology Antivirus Essential" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Synology Antivirus Essential" Report "malware_scanner[]=synoavd" fi # Trend Micro Anti Malware for Linux # Typically ds_agent is running as well, the Deep Security Agent LogText "Test: checking process ds_agent to test for Trend Micro Deep Anti Malware component" if IsRunning "ds_am"; then if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Trend Micro Anti Malware" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Trend Micro Anti Malware component" FOUND=1 MALWARE_SCANNER_INSTALLED=1 MALWARE_DAEMON_RUNNING=1 TRENDMICRO_DSA_DAEMON_RUNNING=1 Report "malware_scanner[]=trend-micro-am" fi # TrendMicro (macOS) LogText "Test: checking process TmccMac to test for Trend Micro anti-virus (macOS)" if IsRunning "TmccMac"; then if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Trend Micro anti-virus" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Trend Micro component" FOUND=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 Report "malware_scanner[]=trend-micro-av" fi # Wazuh agent LogText "Test: checking process wazuh-agent to test for Wazuh agent" if IsRunning "wazuh-agentd"; then if IsVerbose; then Display --indent 2 --text "- ${GEN_CHECKING} Wazuh agent" --result "${STATUS_FOUND}" --color GREEN; fi LogText "Result: found Wazuh component" FOUND=1 WAZUH_DAEMON_RUNNING=1 MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 ROOTKIT_SCANNER_FOUND=1 Report "malware_scanner[]=wazuh" fi if [ ${FOUND} -eq 0 ]; then LogText "Result: no commercial anti-virus tools found" AddHP 0 3 else LogText "Result: found one or more commercial anti-virus tools" AddHP 2 2 fi fi # ################################################################################# # # Test : MALW-3282 # Description : Check if clamscan is installed Register --test-no MALW-3282 --weight L --network NO --category security --description "Check for clamscan" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence clamscan" if [ ! "${CLAMSCANBINARY}" = "" ]; then Display --indent 2 --text "- Checking ClamAV scanner" --result "${STATUS_FOUND}" --color GREEN LogText "Result: Found ${CLAMSCANBINARY}" MALWARE_SCANNER_INSTALLED=1 CLAMSCAN_INSTALLED=1 AddHP 2 2 else LogText "Result: clamscan couldn't be found" fi fi # ################################################################################# # # Test : MALW-3284 # Description : Check running clamd process Register --test-no MALW-3284 --weight L --network NO --category security --description "Check for clamd" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking running ClamAV daemon (clamd)" if IsRunning "clamd"; then Display --indent 2 --text "- ${GEN_CHECKING} ClamAV daemon" --result "${STATUS_FOUND}" --color GREEN LogText "Result: found running clamd process" MALWARE_DAEMON_RUNNING=1 MALWARE_SCANNER_INSTALLED=1 CLAMD_RUNNING=1 else LogText "Result: clamd not running" fi fi # ################################################################################# # # Test : MALW-3291 # Description : Check if Microsoft Defender Antivirus is installed Register --test-no MALW-3291 --weight L --network NO --category security --description "Check for mdatp" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking presence mdatp" if [ ! "${MDATPBINARY}" = "" ]; then Display --indent 2 --text "- Checking Microsoft Defender Antivirus" --result "${STATUS_FOUND}" --color GREEN LogText "Result: Found ${MDATPBINARY}" MALWARE_SCANNER_INSTALLED=1 AddHP 2 2 Report "malware_scanner[]=mdatp" else LogText "Result: mdatp couldn't be found" fi fi # ################################################################################# # # Test : MALW-3286 # Description : Check running freshclam if clamd process is running if [ ${CLAMD_RUNNING} -eq 1 ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi Register --test-no MALW-3286 --preqs-met ${PREQS_MET} --weight L --network NO --category security --description "Check for freshclam" if [ ${SKIPTEST} -eq 0 ]; then LogText "Test: checking running freshclam daemon" if IsRunning "freshclam"; then FRESHCLAM_DAEMON_RUNNING=1 Display --indent 4 --text "- ${GEN_CHECKING} freshclam" --result "${STATUS_FOUND}" --color GREEN LogText "Result: found running freshclam process" AddHP 2 2 else Display --indent 4 --text "- ${GEN_CHECKING} freshclam" --result "${STATUS_SUGGESTION}" --color YELLOW LogText "Result: freshclam is not running" ReportSuggestion "${TEST_NO}" "Confirm that freshclam is properly configured and keeps updating the ClamAV database" fi fi # ################################################################################# # # Test : MALW-3288 # Description : Check for ClamXav (macOS) if [ -d /Applications/ClamXav.app/Contents/Resources/ScanningEngine/bin/ ]; then PREQS_MET="YES"; else PREQS_MET="NO"; fi Register --test-no MALW-3288 --preqs-met ${PREQS_MET} --weight L --network NO --category security --description "Check for ClamXav" if [ ${SKIPTEST} -eq 0 ]; then CLAMSCANBINARY=$(${LSBINARY} /Applications/ClamXav.app/Contents/Resources/ScanningEngine/bin/ 2> /dev/null | ${GREPBINARY} 'clamscan') if [ -n "${CLAMSCANBINARY}" ]; then LogText "Result: Found ClamXav clamscan installed" Display --indent 2 --text "- ${GEN_CHECKING} ClamXav AV scanner" --result "${STATUS_FOUND}" --color GREEN MALWARE_SCANNER_INSTALLED=1 CLAMSCAN_INSTALLED=1 AddHP 3 3 else LogText "Result: ClamXav malware scanner not found" AddHP 0 3 fi fi # ################################################################################# # # Check if we found any of the ClamAV components if [ ${CLAMSCAN_INSTALLED} -eq 1 -o ${CLAMD_RUNNING} -eq 1 -o ${FRESHCLAM_DAEMON_RUNNING} -eq 1 ]; then Report "malware_scanner[]=clamav" fi # ################################################################################# # # Test : MALW-3290 # Description : Presence of malware scanners Register --test-no MALW-3290 --weight L --network NO --category security --description "Presence of for malware detection" if [ ${SKIPTEST} -eq 0 ]; then if [ ${MALWARE_SCANNER_INSTALLED} -eq 0 ]; then Display --indent 2 --text "- Malware software components" --result "${STATUS_NOT_FOUND}" --color YELLOW else Display --indent 2 --text "- Malware software components" --result "${STATUS_FOUND}" --color GREEN if [ ${MALWARE_DAEMON_RUNNING} -eq 0 ]; then Display --indent 4 --text "- Active agent" --result "${STATUS_NOT_FOUND}" --color WHITE else Display --indent 4 --text "- Active agent" --result "${STATUS_FOUND}" --color GREEN fi if [ ${ROOTKIT_SCANNER_FOUND} -eq 0 ]; then Display --indent 4 --text "- Rootkit scanner" --result "${STATUS_NOT_FOUND}" --color WHITE else Display --indent 4 --text "- Rootkit scanner" --result "${STATUS_FOUND}" --color GREEN fi fi fi # ################################################################################# # Report "malware_scanner_installed=${MALWARE_SCANNER_INSTALLED}" WaitForKeyPress # #================================================================================ # Lynis - Security Auditing and System Hardening for Linux and UNIX - https://cisofy.com
Save
cmd:
run