文章來源:Bypass
在攻擊結(jié)束后,如何不留痕跡的清除日志和操作記錄,以掩蓋入侵蹤跡,這其實是一個細(xì)致的技術(shù)活。你所做的每一個操作,都要被抹掉;你所上傳的工具,都應(yīng)該被安全地刪掉。
01、清除history歷史命令記錄
第一種方式:
(1)編輯history記錄文件,刪除部分不想被保存的歷史命令。
vim ~/.bash_history
(2)清除當(dāng)前用戶的history命令記錄
history -c
第二種方式:
(1)利用vim特性刪除歷史命令
#使用vim打開一個文件
vi test.txt
# 設(shè)置vim不記錄命令,Vim會將命令歷史記錄,保存在viminfo文件中。
:set history=0
# 用vim的分屏功能打開命令記錄文件.bash_history,編輯文件刪除歷史操作命令
vsp ~/.bash_history
# 清除保存.bash_history文件即可。
(2)在vim中執(zhí)行自己不想讓別人看到的命令
:set history=0
:!command
第三種方式:
通過修改配置文件/etc/profile,使系統(tǒng)不再保存命令記錄。
HISTSIZE=0
第四種方式:
登錄后執(zhí)行下面命令,不記錄歷史命令(.bash_history)
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0
02、清除系統(tǒng)日志痕跡
Linux 系統(tǒng)存在多種日志文件,來記錄系統(tǒng)運行過程中產(chǎn)生的日志。
/var/log/btmp 記錄所有登錄失敗信息,使用lastb命令查看
/var/log/lastlog 記錄系統(tǒng)中所有用戶最后一次登錄時間的日志,使用lastlog命令查看
/var/log/wtmp 記錄所有用戶的登錄、注銷信息,使用last命令查看
/var/log/utmp 記錄當(dāng)前已經(jīng)登錄的用戶信息,使用w,who,users等命令查看
/var/log/secure 記錄與安全相關(guān)的日志信息
/var/log/message 記錄系統(tǒng)啟動后的信息和錯誤日志
第一種方式:清空日志文件
清除登錄系統(tǒng)失敗的記錄:
[root@centos]# echo > /var/log/btmp
[root@centos]# lastb //查詢不到登錄失敗信息
清除登錄系統(tǒng)成功的記錄:
[root@centos]# echo > /var/log/wtmp
[root@centos]# last //查詢不到登錄成功的信息
清除相關(guān)日志信息:
清除用戶最后一次登錄時間:echo > /var/log/lastlog #lastlog命令
清除當(dāng)前登錄用戶的信息:echo > /var/log/utmp #使用w,who,users等命令
清除安全日志記錄:cat /dev/null > /var/log/secure
清除系統(tǒng)日志記錄:cat /dev/null > /var/log/message
第二種方式:刪除/替換部分日志
日志文件全部被清空,太容易被管理員察覺了,如果只是刪除或替換部分關(guān)鍵日志信息,那么就可以完美隱藏攻擊痕跡。
# 刪除所有匹配到字符串的行,比如以當(dāng)天日期或者自己的登錄ip
sed -i '/自己的ip/'d /var/log/messages
# 全局替換登錄IP地址:
sed -i 's/192.168.166.85/192.168.1.1/g' secure
03、清除web入侵痕跡
第一種方式:直接替換日志ip地址
sed -i 's/192.168.166.85/192.168.1.1/g' access.log
第二種方式:清除部分相關(guān)日志
# 使用grep -v來把我們的相關(guān)信息刪除,
cat /var/log/nginx/access.log | grep -v evil.php > tmp.log
# 把修改過的日志覆蓋到原日志文件
cat tmp.log > /var/log/nginx/access.log/
04、文件安全刪除工具
(1)shred命令
實現(xiàn)安全的從硬盤上擦除數(shù)據(jù),默認(rèn)覆蓋3次,通過 -n指定數(shù)據(jù)覆蓋次數(shù)。
[root@centos]# shred -f -u -z -v -n 8 1.txt
shred: 1.txt: pass 1/9 (random)...
shred: 1.txt: pass 2/9 (ffffff)...
shred: 1.txt: pass 3/9 (aaaaaa)...
shred: 1.txt: pass 4/9 (random)...
shred: 1.txt: pass 5/9 (000000)...
shred: 1.txt: pass 6/9 (random)...
shred: 1.txt: pass 7/9 (555555)...
shred: 1.txt: pass 8/9 (random)...
shred: 1.txt: pass 9/9 (000000)...
shred: 1.txt: removing
shred: 1.txt: renamed to 00000
shred: 00000: renamed to 0000
shred: 0000: renamed to 000
shred: 000: renamed to 00
shred: 00: renamed to 0
shred: 1.txt: removed
(2)dd命令
可用于安全地清除硬盤或者分區(qū)的內(nèi)容。
dd if=/dev/zero of=要刪除的文件 bs=大小 count=寫入的次數(shù)
(3)wipe
Wipe 使用特殊的模式來重復(fù)地寫文件,從磁性介質(zhì)中安全擦除文件。
wipe filename
(4)Secure-Delete
Secure-Delete 是一組工具集合,提供srm、smem、sfill、sswap,4個安全刪除文件的命令行工具。
srm filename
sfill filename
sswap /dev/sda1
smem
05、隱藏遠(yuǎn)程SSH登陸記錄
隱身登錄系統(tǒng),不會被w、who、last等指令檢測到。
ssh -T root@192.168.0.1 /bin/bash -i
不記錄ssh公鑰在本地.ssh目錄中
ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i