1. 程式人生 > >Linux 病毒檢測

Linux 病毒檢測

推薦遷出重要檔案後重裝系統

1 Linux 病毒檢測

1.1 查詢最近登陸

1.1.1 檢查系統錯誤登陸日誌,統計IP重試次數

lastb root | awk '{print $3}' | sort | uniq -c | sort -nr| more

1.1.2 檢視最近登入的賬戶和登入時間

last        # 檢視最近成功登陸的使用者;
lastlog     # 檢視每個使用者最後一次登陸的時間;

1.1.3 查詢遠端登入成功的IP:

grep -i Accepted /var/log/secure

1.2 檢查系統使用者

1.2.1 檢視passwd的修改時間

ls -l /etc/passwd 

1.2.2 檢視是否有異常的系統使用者

cat /etc/passwd 

判斷是否在不知的情況下新增使用者

1.2.3 檢視是否存在特權使用者

grep "0" /etc/passwd
awk -F":" '{if($3 == 0){print $1}}' /etc/passwd 

檢視是否產生了新使用者,UID和GID為0的使用者

1.2.4 檢視是否存在空口令帳戶

awk -F: '{if(length($2)==0) {print $1}}' /etc/passwd

1.3 檢查命令是否被修改

ls -l  /usr/bin/which
ls -l $(which find)

find /usr/ -mtime -20 -ls
find /bin/ /sbin/ /usr/bin/ /usr/sbin/ /usr/local/bin/ /usr/local/sbin/ -mtime -20 -ls

1.4 檢查異常程序

1.4.1 注意UID為0的程序

ps -ef

1.4.2 檢視該程序所開啟的埠和檔案

lsof -p pid

1.4.3 檢查隱藏程序

ps -ef | awk '{print $2}'| sort -n | uniq >1 
ls /proc |sort -n|uniq >2 
diff 1 2

1.5 檢視異常上網程序

1.5.1 檢視往外發包量

ifconfig

1.5.2 nethogs:檢測系統程序佔用頻寬情況的檢查

yum 安裝(epel 源)

yum install libpcap nethogs -y

直接執行nethogs

nethogs

或者指定網絡卡裝置

nethogs 網絡卡裝置
nethogs eth0

1.5.3 查詢訪問外網80埠的程序

ss -tunap |grep ":80"

1.6 檢查異常系統檔案

ls -artl /tmp/
find / -uid 0 -perm 4000 -print 
find / -size +10000k -print 
find / -name "..."  -print 
find / -name ".."  -print 
find / -name "."  -print 
find / -name " "  -print 

注意SUID檔案,可疑大於10M和空格檔案

find / -name core -exec ls -l {} \ (檢查系統中的core文 件)

Find perm用法

-perm mode:檔案許可正好符合mode 
-perm +mode:檔案許可部分符合mode 
-perm -mode: 檔案許可完全符合mode

1.7 檢查系統檔案完整性

rpm –qf /bin/ls 
rpm -qf /bin/login 
md5sum –b 檔名 
md5sum –t 檔名 

在GUN系統上,-t –b沒有區別

1.8 檢查RPM的完整性

rpm –Va 輸出格式:

S – File size differs 
M – Mode differs (permissions) 
5 – MD5 sum differs 
D – Device number mismatch 
L – readLink path mismatch 
U – user ownership differs 
G – group ownership differs 
T – modification time differs 

注意相關的 /sbin, /bin, /usr/sbin, and /usr/bin

1.9 檢查網路

ip link | grep PROMISC(正常網絡卡不該在promisc混雜模式,可能存在sniffer) 
lsof –i 如檢視所有開啟80埠的程序: lsof –i :80 
netstat –nap(察看不正常開啟的TCP/UDP埠) 
arp –a

1.10 檢查系統計劃任務

crontab -u root -l
cat /etc/crontab 
ls -al /etc/cron.*
ls -al /var/spool/cron/ 

1.11 查詢開機自啟動系統後門

cat /etc/crontab  
cat /etc/rc.d/rc.local  
ls /etc/rc.d   
ls /etc/rc3.d    
find / -type f -perm 4000
find /etc/  -mtime -20

1.12 檢查系統服務

1.12.1 檢視開機自啟動的服務

chkconfig —list | grep :on
rpcinfo -p(檢視RPC服務)

1.12.2 檢視當前執行的服務:

service --status-all | grep running

1.13 查殺異常程序命令

ps,top

檢視執行的程序和程序系統資源佔用情況,查詢異常程序。

pstree

以樹狀圖的形式顯示程序間的關係。

lsof

可以檢視程序開啟的檔案、檔案或目錄被哪個程序佔用、開啟某個埠的程序、系統所有開啟的埠等等。

netstat

可以檢視系統監聽的所有埠、網路連線情況、查詢連線數過多的IP地址等。

ss

上面兩個命令的替換命令;

iftop

監控TCP連線實時網路流量,可分別分析出入流量並進行排序,查找出流量異常的IP地址。

nethogs

監控每個程序使用的網路流量,並從高到低排序,方便查找出流量異常的程序。

strace

追蹤一個程序所執行的系統呼叫,可分析***程序的執行情況。

strings

輸出檔案中可列印的字串,可用來分析***程式。

2記一次Linux系統中Linux.BackDoor.Gates.5***病毒的處理記錄

2.1 異常程序

通過top檢視好多異常程序

pkill -9 Linux-udp25000
pkill -9 .zl
pkill -9 .sshd
ps -ef | grep getty

2.2 異常檔案

ls -artl /tmp/
rm -f /tmp/gates.lod
rm -f /tmp/moni.lod
rm -f /tmp/.lz1546747496
rm -f /tmp/.java_pid12463
rm -f /tmp/.cron

find /opt/tomcat/bin/ -type f -mtime -5 -ls

find / -type f -name 'qw1' -ls
find / -type f -name '.loop' -ls

rm -fr /usr/bin/bsd-port
rm -fr /usr/bin/dpkgd
rm -f /usr/bin/.sshd

2.3 檢查命令是否被修改

ls -l  /usr/bin/which
ls -l $(which find)

find /usr/ -mtime -20 -ls
find /bin/ /sbin/ /usr/bin/ /usr/sbin/ /usr/local/bin/ /usr/local/sbin/ -mtime -20 -ls
normal_ip=192.168.1.177
normal_port=22
# rm /usr/sbin/ss
scp -P ${normal_port} -rp ${normal_ip}:/usr/sbin/ss /usr/sbin/

# rm /bin/ps
scp -P ${normal_port} -rp ${normal_ip}:/bin/ps /bin/

# rm /bin/netstat
scp -P ${normal_port} -rp ${normal_ip}:/bin/netstat /bin/

# rm /usr/sbin/lsof
scp -P ${normal_port} -rp ${normal_ip}:/usr/sbin/lsof /usr/sbin/

2.4 開機自啟動:

查詢:

find /etc/  -mtime -20
vim /etc/rc.d/rc.local

刪除:

rm -f /etc/rc.d/init.d/.zl
rm -f /etc/rc.d/rc2.d/S77.zl
rm -f /etc/rc.d/rc3.d/S77.zl
rm -f /etc/rc.d/rc4.d/S77.zl
rm -f /etc/rc.d/rc5.d/S77.zl

rm -f /etc/rc.d/init.d/DbSecuritySpt
rm -f /etc/rc.d/rc5.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc2.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc4.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc1.d/S97DbSecuritySpt
rm -f /etc/rc.d/rc3.d/S97DbSecuritySpt

rm -f /etc/init.d/selinux
rm -f /etc/rc.d/rc5.d/S99selinux
rm -f /etc/rc.d/rc2.d/S99selinux
rm -f /etc/rc.d/rc4.d/S99selinux
rm -f /etc/rc.d/rc1.d/S99selinux
rm -f /etc/rc.d/rc3.d/S99selinux

5 rootkit檢測工具

chkrootkit和rkhunter是Linux下常用的查詢檢測rootkit後門的工具。

5.1 chkrootkit

專案主頁:http://www.chkrootkit.org/
下載路徑:ftp://ftp.pangeia.com.br/pub/seg/pac/chkrootkit.tar.gz

tar xf chkrootkit.tar.gz
cd chkrootkit-*
yum install gcc gcc-c++ glibc* make
make sense

執行檢查:

./chkrootkit -q

chkrootkit檢查使用了部分系統命令: awk, cut, egrep, find, head, id, ls, netstat, ps, strings, sed, uname。
在被***的系統上這些系統命令可能已被替換,因此chkrootkit的結果將不可靠。為了避免使用這些不受信任的命令,我們可以使用'-p'選項指定命令的備用路徑。

5.2 rkhunter

rkhunter具有比chrootkit更為全面的掃描範圍。除rootkit特徵碼掃描外,rkhunter還支援埠掃描,常用開源軟體版本和檔案變動情況檢查等。
專案主頁:http://rkhunter.sourceforge.net/
下載路徑:https://sourceforge.net/projects/rkhunter/files/rkhunter/

wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.2/rkhunter-1.4.2.tar.gz
tar xzvf rkhunter*
cd rkhunter*
./installer.sh --layout /usr --install

更新rkhunter資料庫:

rkhunter --update

開始檢查(輸出中文):
rkhunter --lang cn -c --sk
--rwo引數僅輸出warning資訊:

rkhunter --lang cn -c --sk --rwo

還可以用-l引數指定寫入的日誌:

rkhunter --lang cn -c --sk -l rkhunter.log

為乾淨的系統建立校對樣本:

rkhunter --propupd

6 ClamAV:查毒軟體掃描

ClamAV是一個在命令列下查毒軟體,因為它不將防毒作為主要功能,預設只能查出您計算機內的病毒,但是無法清除,至多刪除檔案。ClamAV可以工作很多的平臺上,但是有少數無法支援,這就要取決您所使用的平臺的流行程度了。另外它主要是來防護一些WINDOWS病毒和***程式。另外,這是一個面向服務端的軟體。

6.1下載安裝ClamAV

6.1.1 下載ClamAV安裝包

官方下載地址:http://www.clamav.net/download.html

6.1.2 安裝依賴包

安裝gcc、gcc-c++、C/C++語言編譯環境

yum install gcc gcc-c++ autoconf automake make -y

依賴包

yum install zlib-devel -y

6.1.3 新增使用者組clamav和組成員clamav

groupadd clamav
useradd -g clamav -s /bin/false -c "Clam AntiVirus" clamav

6.1.4 安裝編譯Clamav

tar xf clamav-0.101.0.tar.gz
cd clamav-0.101.0
./configure --prefix=/opt/clamav  --disable-clamav
make
make install

6.2 配置Clamav

6.2.1 建立目錄

mkdir /opt/clamav/{logs,/updata}

6.2.2 建立日誌檔案

touch /opt/clamav/logs/{freshclam.log,clamd.log}
chown clamav:clamav /opt/clamav/logs/*.log
ls -l /opt/clamav/logs/

6.2.3 修改配置檔案

# cp /opt/clamav/etc/clamd.conf.sample /opt/clamav/etc/clamd.conf
# cp /opt/clamav/etc/freshclam.conf.sample /opt/clamav/etc/freshclam.conf
# vim /opt/clamav/etc/clamd.conf

# Example 註釋掉這一行. 第8 行  
修改內容如下:新增即可
LogFile /opt/clamav/logs/clamd.log
PidFile /opt/clamav/updata/clamd.pid
DatabaseDirectory /opt/clamav/updata
vim /opt/clamav/etc/freshclam.conf
#Example    # 註釋掉

Example這一行註釋掉。否則在更新反病毒資料庫時就有可能出現下面錯誤

ERROR: Please edit the example config file /opt/clamav/etc/freshclam.conf
ERROR: Can't open/parse the config file /opt/clamav/etc/freshclam.conf

6.2.4 升級病毒庫:病毒庫需要定期升級

mkdir -p /opt/clamav/share/clamav
chown clamav:clamav /opt/clamav/share/clamav
/opt/clamav/bin/freshclam

更新過程:

[[email protected] clamav-0.101.0]# /opt/clamav/bin/freshclam
ClamAV update process started at Tue Jan  8 14:23:14 2019
WARNING: Your ClamAV installation is OUTDATED!
WARNING: Local version: 0.101.0 Recommended version: 0.101.1
DON'T PANIC! Read https://www.clamav.net/documents/upgrading-clamav
Downloading main.cvd [100%]
main.cvd updated (version: 58, sigs: 4566249, f-level: 60, builder: sigmgr)
Downloading daily.cvd [100%]
daily.cvd updated (version: 25278, sigs: 2201446, f-level: 63, builder: raynman)
Downloading bytecode.cvd [100%]
bytecode.cvd updated (version: 328, sigs: 94, f-level: 63, builder: neo)
Database updated (6767789 signatures) from database.clamav.net (IP: 104.16.188.138)
[[email protected] clamav-0.101.0]#

6.3 ClamAV 使用

6.3.1 檢視幫助資訊

[[email protected] opt]# /opt/clamav/bin/clamscan -h

                       Clam AntiVirus: Scanner 0.101.0
           By The ClamAV Team: https://www.clamav.net/about.html#credits
           (C) 2007-2018 Cisco Systems, Inc.

    clamscan [options] [file/directory/-]

    --help                -h             Show this help
    --version             -V             Print version number
    --verbose             -v             Be verbose
    --archive-verbose     -a             Show filenames inside scanned archives
    --debug                              Enable libclamav's debug messages
    --quiet                              Only output error messages
    --stdout                             Write to stdout instead of stderr
    --no-summary                         Disable summary at end of scanning
    --infected            -i             Only print infected files
    --suppress-ok-results -o             Skip printing OK files
    --bell                               Sound bell on virus detection

    --tempdir=DIRECTORY                  Create temporary files in DIRECTORY
    --leave-temps[=yes/no(*)]            Do not remove temporary files
    --gen-json[=yes/no(*)]               Generate JSON description of scanned file(s). JSON will be printed and also-
                                         dropped to the temp directory if --leave-temps is enabled.
    --database=FILE/DIR   -d FILE/DIR    Load virus database from FILE or load all supported db files from DIR
    --official-db-only[=yes/no(*)]       Only load official signatures
    --log=FILE            -l FILE        Save scan report to FILE
    --recursive[=yes/no(*)]  -r          Scan subdirectories recursively
    --allmatch[=yes/no(*)]   -z          Continue scanning within file after finding a match
    --cross-fs[=yes(*)/no]               Scan files and directories on other filesystems
    --follow-dir-symlinks[=0/1(*)/2]     Follow directory symlinks (0 = never, 1 = direct, 2 = always)
    --follow-file-symlinks[=0/1(*)/2]    Follow file symlinks (0 = never, 1 = direct, 2 = always)
    --file-list=FILE      -f FILE        Scan files from FILE
    --remove[=yes/no(*)]                 Remove infected files. Be careful!
    --move=DIRECTORY                     Move infected files into DIRECTORY
    --copy=DIRECTORY                     Copy infected files into DIRECTORY
    --exclude=REGEX                      Don't scan file names matching REGEX
    --exclude-dir=REGEX                  Don't scan directories matching REGEX
    --include=REGEX                      Only scan file names matching REGEX
    --include-dir=REGEX                  Only scan directories matching REGEX

    --bytecode[=yes(*)/no]               Load bytecode from the database
    --bytecode-unsigned[=yes/no(*)]      Load unsigned bytecode
    --bytecode-timeout=N                 Set bytecode timeout (in milliseconds)
    --statistics[=none(*)/bytecode/pcre] Collect and print execution statistics
    --detect-pua[=yes/no(*)]             Detect Possibly Unwanted Applications
    --exclude-pua=CAT                    Skip PUA sigs of category CAT
    --include-pua=CAT                    Load PUA sigs of category CAT
    --detect-structured[=yes/no(*)]      Detect structured data (SSN, Credit Card)
    --structured-ssn-format=X            SSN format (0=normal,1=stripped,2=both)
    --structured-ssn-count=N             Min SSN count to generate a detect
    --structured-cc-count=N              Min CC count to generate a detect
    --scan-mail[=yes(*)/no]              Scan mail files
    --phishing-sigs[=yes(*)/no]          Enable email signature-based phishing detection
    --phishing-scan-urls[=yes(*)/no]     Enable URL signature-based phishing detection
    --heuristic-alerts[=yes(*)/no]       Heuristic alerts
    --heuristic-scan-precedence[=yes/no(*)] Stop scanning as soon as a heuristic match is found
    --normalize[=yes(*)/no]              Normalize html, script, and text files. Use normalize=no for yara compatibility
    --scan-pe[=yes(*)/no]                Scan PE files
    --scan-elf[=yes(*)/no]               Scan ELF files
    --scan-ole2[=yes(*)/no]              Scan OLE2 containers
    --scan-pdf[=yes(*)/no]               Scan PDF files
    --scan-swf[=yes(*)/no]               Scan SWF files
    --scan-html[=yes(*)/no]              Scan HTML files
    --scan-xmldocs[=yes(*)/no]           Scan xml-based document files
    --scan-hwp3[=yes(*)/no]              Scan HWP3 files
    --scan-archive[=yes(*)/no]           Scan archive files (supported by libclamav)
    --alert-broken[=yes/no(*)]           Alert on broken executable files (PE & ELF)
    --alert-encrypted[=yes/no(*)]        Alert on encrypted archives and documents
    --alert-encrypted-archive[=yes/no(*)] Alert on encrypted archives
    --alert-encrypted-doc[=yes/no(*)]    Alert on encrypted documents
    --alert-macros[=yes/no(*)]           Alert on OLE2 files containing VBA macros
    --alert-exceeds-max[=yes/no(*)]      Alert on files that exceed max file size, max scan size, or max recursion limit
    --alert-phishing-ssl[=yes/no(*)]     Alert on emails containing SSL mismatches in URLs
    --alert-phishing-cloak[=yes/no(*)]   Alert on emails containing cloaked URLs
    --alert-partition-intersection[=yes/no(*)] Alert on raw DMG image files containing partition intersections
    --nocerts                            Disable authenticode certificate chain verification in PE files
    --dumpcerts                          Dump authenticode certificate chain in PE files

    --max-filesize=#n                    Files larger than this will be skipped and assumed clean
    --max-scansize=#n                    The maximum amount of data to scan for each container file (**)
    --max-files=#n                       The maximum number of files to scan for each container file (**)
    --max-recursion=#n                   Maximum archive recursion level for container file (**)
    --max-dir-recursion=#n               Maximum directory recursion level
    --max-embeddedpe=#n                  Maximum size file to check for embedded PE
    --max-htmlnormalize=#n               Maximum size of HTML file to normalize
    --max-htmlnotags=#n                  Maximum size of normalized HTML file to scan
    --max-scriptnormalize=#n             Maximum size of script file to normalize
    --max-ziptypercg=#n                  Maximum size zip to type reanalyze
    --max-partitions=#n                  Maximum number of partitions in disk image to be scanned
    --max-iconspe=#n                     Maximum number of icons in PE file to be scanned
    --max-rechwp3=#n                     Maximum recursive calls to HWP3 parsing function
    --pcre-match-limit=#n                Maximum calls to the PCRE match function.
    --pcre-recmatch-limit=#n             Maximum recursive calls to the PCRE match function.
    --pcre-max-filesize=#n               Maximum size file to perform PCRE subsig matching.
    --disable-cache                      Disable caching and cache checks for hash sums of scanned files.

Pass in - as the filename for stdin.

(*) Default scan settings
(**) Certain files (e.g. documents, archives, etc.) may in turn contain other
   files inside. The above options ensure safe processing of this kind of data.

[[email protected] opt]#
  • 翻譯
clamscan [選項] [檔案/目錄/-]
    --help                  -h              顯示此幫助
    --version               -V              列印版本號
    --verbose               -v              詳細
    --archive-verbose       -a              在掃描的檔案中顯示檔名
    --debug                                 啟用libclamav的除錯訊息
    --quiet                                 僅輸出錯誤訊息
    --stdout                                寫入stdout而不是stderr
    --no-summary                            在掃描結束時禁用摘要
    --infected              -i              僅列印受感染的檔案
    --suppress-ok-results   -o              跳過列印OK檔案
    --bell                                  關於病毒檢測的聲鈴

    --tempdir=DIRECTORY                     在DIRECTORY中建立臨時檔案
    --leave-temps[=yes/no(*)]               不要刪除臨時檔案
    --gen-json[=yes/no(*)]                  生成掃描檔案的JSON描述。 JSON將被列印並且 - 
                                            如果啟用了--leave-temps,則刪除到臨時目錄。
    --database=FILE/DIR     -d FILE/DIR     從FILE載入病毒資料庫或從DIR載入所有支援的db檔案
    --official-db-only[=yes/no(*)]          僅載入官方簽名
    --log=FILE              -l FILE         將掃描報告儲存到FILE
    --recursive[=yes/no(*)] -r              遞迴掃描子目錄
    --allmatch[=yes/no(*)]  -z              找到匹配後繼續在檔案中掃描
    --cross-fs[=yes(*)/no]                  掃描其他檔案系統上的檔案和目錄
    --follow-dir-symlinks[=0/1(*)/2]        按照目錄符號連結(0 =從不,1 =直接,2 =總是)
    --follow-file-symlinks[=0/1(*)/2]       關注檔案符號連結(0 =從不,1 =直接,2 =總是)
    --file-list=FILE        -f FILE         從FILE掃描檔案
    --remove[=yes/no(*)]                    刪除受感染的檔案。小心!
    --move=DIRECTORY                        將受感染的檔案移至DIRECTORY
    --copy=DIRECTORY                        將受感染的檔案複製到DIRECTORY中
    --exclude=REGEX                         不掃描與REGEX匹配的檔名
    --exclude-dir=REGEX                     不掃描與REGEX匹配的目錄
    --include=REGEX                         僅掃描與REGEX匹配的檔名
    --include-dir=REGEX                     僅掃描與REGEX匹配的目錄

    --bytecode[=yes(*)/no]                  從資料庫載入位元組碼
    --bytecode-unsigned[=yes/no(*)]         載入無符號位元組碼
    --bytecode-timeout=N                    設定位元組碼超時(以毫秒為單位)
    --statistics[=none(*)/bytecode/pcre]    收集並列印執行統計資訊
    --detect-pua[=yes/no(*)]                檢測可能不需要的應用程式
    --exclude-pua=CAT                       跳過類別為CAT的PUA sigs
    --include-pua=CAT                       載入CAT類別的PUA sigs
    --detect-structured[=yes/no(*)]         檢測結構化資料(SSN,信用卡)
    --structured-ssn-format=X               SSN格式(0 =正常,1 =剝離,2 =兩者)
    --structured-ssn-count=N                Min SSN計數以生成檢測
    --structured-cc-count=N                 Min CC count以生成檢測
    --scan-mail[=yes(*)/no]                 掃描郵件檔案
    --phishing-sigs[=yes(*)/no]             啟用基於電子郵件簽名的網路釣魚檢測
    --phishing-scan-urls[=yes(*)/no]        啟用基於URL簽名的網路釣魚檢測
    --heuristic-alerts[=yes(*)/no]          啟發式警報
    --heuristic-scan-precedence[=yes/no(*)] 一旦找到啟發式匹配,就停止掃描
    --normalize[=yes(*)/no]                 規範化html,指令碼和文字檔案。對於yara相容性,請使用normalize = no
    --scan-pe[=yes(*)/no]                   掃描PE檔案
    --scan-elf[=yes(*)/no]                  掃描ELF檔案
    --scan-ole2[=yes(*)/no]                 掃描OLE2容器
    --scan-pdf[=yes(*)/no]                  掃描PDF檔案
    --scan-swf[=yes(*)/no]                  掃描SWF檔案
    --scan-html[=yes(*)/no]                 掃描HTML檔案
    --scan-xmldocs[=yes(*)/no]              掃描基於xml的文件檔案
    --scan-hwp3[=yes(*)/no]                 掃描HWP3檔案
    --scan-archive[=yes(*)/no]              掃描存檔檔案(libclamav支援)
    --alert-broken[=yes/no(*)]              對可破壞的可執行檔案(PE和ELF)發出警報
    --alert-encrypted[=yes/no(*)]           對加密檔案和文件發出警報
    --alert-encrypted-archive[=yes/no(*)]   加密檔案的警報
    --alert-encrypted-doc[=yes/no(*)]       對加密文件發出警報
    --alert-macros[=yes/no(*)]              對包含VBA巨集的OLE2檔案發出警報
    --alert-exceeds-max[=yes/no(*)]         對超過最大檔案大小,最大掃描大小或最大遞迴限制的檔案發出警報
    --alert-phishing-ssl[=yes/no(*)]        警告包含URL中SSL不匹配的電子郵件
    --alert-phishing-cloak[=yes/no(*)]      警告包含隱藏URL的電子郵件
    --alert-partition-intersection[=yes/no(*)]  對包含分割槽交叉點的原始DMG影象檔案發出警報
    --nocerts                               在PE檔案中禁用authenticode證書鏈驗證
    --dumpcerts                             轉儲PE檔案中的authenticode證書鏈

    --max-filesize=#n                       將跳過大於此的檔案並假定為乾淨
    --max-scansize=#n                       要掃描每個容器檔案的最大資料量(**)
    --max-files=#n                          要掃描每個容器檔案的最大檔案數(**)
    --max-recursion=#n                      容器檔案的最大歸檔遞迴級別(**)
    --max-dir-recursion=#n                  最大目錄遞迴級別
    --max-embeddedpe=#n                     檢查嵌入式PE的最大大小檔案
    --max-htmlnormalize=#n                  要標準化的HTML檔案的最大大小
    --max-htmlnotags=#n                     要掃描的規範化HTML檔案的最大大小
    --max-scriptnormalize=#n                要規範化的指令碼檔案的最大大小
    --max-ziptypercg=#n                     要重新分析的最大尺寸拉鍊
    --max-partitions=#n                     要掃描的磁碟映像中的最大分割槽數
    --max-iconspe=#n                        要掃描的PE檔案中的最大圖示數
    --max-rechwp3=#n                        對HWP3解析函式的最大遞迴呼叫
    --pcre-match-limit=#n                   最大呼叫PCRE匹配函式。
    --pcre-recmatch-limit=#n                對PCRE匹配函式的最大遞迴呼叫。
    --pcre-max-filesize=#n                  執行PCRE子集匹配的最大檔案大小。
    --disable-cache                         禁用快取和快取檢查掃描檔案的雜湊值。
  • 常用命令
-r              遞迴掃描子目錄
-i              僅列印受感染(infected)的檔案
--bell          關於病毒檢測的聲鈴
  • 注意:

掃描/sys/會產生大量報錯,跳過此資料夾即可
/opt/clamav/bin/clamscan --exclude-dir=/sys/ --bell -i -r /
結果:

LibClamAV Warning: fmap_readpage: pread fail: asked for 4077 bytes @ offset 19, got 0
LibClamAV Warning: fmap_readpage: pread fail: asked for 4077 bytes @ offset 19, got 0
LibClamAV Warning: fmap_readpage: pread fail: asked for 4077 bytes @ offset 19, got 0
LibClamAV Warning: fmap_readpage: pread fail: asked for 4077 bytes @ offset 19, got 0
LibClamAV Warning: cli_scanxz: decompress file size exceeds limits - only scanning 27262976 bytes
LibClamAV Warning: cli_scanxz: decompress file size exceeds limits - only scanning 27262976 bytes
/opt/clamav-0.101.0/test.tar.gz: Clamav.Test.File-6 FOUND           # 刪掉帶有FOUND的檔案
^G
----------- SCAN SUMMARY -----------    # 掃描摘要
Known viruses: 6759977                  # 已知病毒
Engine version: 0.101.0                 # 版本
Scanned directories: 54284              # 掃描目錄
Scanned files: 1019040                  # 掃描檔案
Infected files: 1                       # 受感染的檔案
Total errors: 15174                     # 總錯誤
Data scanned: 181322.94 MB              # 掃描資料
Data read: 228000.39 MB (ratio 0.80:1)  # 資料讀取
Time: 34849.575 sec (580 m 49 s)        # 時間