記一次Linux系統被入侵的排查過程(一)
事件起因:某晚,22點左右,我在與某君電話中,突然發現電腦上QQ自動離線,然後又自動登入,開始以為QQ被盜了。電話完後,發現是網路不穩定引起的,由於小區寬頻上個月才進電信光纖網,存在一些不穩定因素,是可以理解的。但馬上發現我居然連普通的百度都打不開了,幾分鐘後,我冷靜了下來,準備看看是不是附近有人贈我的網,把我的頻寬用完了。果斷登入路由器發現我的Linux虛擬機器居然佔用了所有的上行流量,事態趨向嚴重了——我的Linux機器被人中了木馬。開始排查:
1、ps和top上場
ps命令發現其中有兩個隨機英文名程式,應該不是我自己的程式。使用top命令發現如下圖:
嘗試kill掉這兩個程式,幾秒內,路由器顯示頻寬使用率下來了,但不幸的是,馬上又恢復了我打電話期間的狀態。好吧,看來還有後臺程式會自動生成。
2、禁用虛擬機器網路卡
此步中我將虛擬機器網上改成vmnet host only模式,讓它暫時不能連線網際網路,恢復家庭網路。同時將虛擬機器網路卡IP設定成與vmware虛擬網路卡同一網段,以方便ssh工具進行連線。
3 檢視程式所在路徑
查詢程式路徑:ls /proc/程式號/exe,然後再次kill掉程式,又會生成一個新的程式名,發現路徑也是隨機在PATH變數的路徑中變換,有時在/bin目錄,有時在/sbin,有時在/usr/bin目錄中。
看來還有後臺主控程式在作怪,繼續查詢。
4 嘗試查詢跟蹤下程式
檢視/bin /sbin /usr/bin等目錄下是否存在以.開頭的檔名,發現不少,而且部分程式移除後會自動生成。
[root@localhost opt]# ls /usr/bin/.
./ ../ .fipscheck.hmac .ssh.hmac
說明還沒找到主控程式;此時我好奇心發作,想用strace 跟蹤程式看有什麼特殊沒有,結果發現系統還未安裝strace命令,此時虛擬機器不可能聯網安裝,只能將光碟掛載到系統中去,建立本地yum源進行安裝:
mkdir /mnt/cdrom/
mount /dev/sr0 /mnt/cdrom
cd /etc/yum.repos.d
cat >DVD.repo<<EOF
[DVD]
name=Install from DVD
baseurl=file:///mnt/cdrom
gpgcheck=0
enable=1
EOF
yum clean all
yum install strace -y
好了,接下來跟蹤一下:strace /bin/hzqzqdmatu
execve("/bin/hzqzqdmatu", ["/bin/hzqzqdmatu"], [/* 22 vars */]) = 0
[ Process PID=21656 runs in 32 bit mode. ]
uname({sys="Linux", node="localhost.localdomain", …}) = 0
brk(0) = 0x8478000
brk(0x8478cc0) = 0x8478cc0
set_thread_area(0xff92ccfc) = 0
set_tid_address(0x8478888) = 21656
set_robust_list(0x8478890, 12) = 0
futex(0xff92cfc4, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x8054230, [], SA_SIGINFO}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x8054150, [], SA_RESTART|SA_SIGINFO}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
uname({sys="Linux", node="localhost.localdomain", …}) = 0
brk(0x8499cc0) = 0x8499cc0
brk(0x849a000) = 0x849a000
rt_sigaction(SIGTTOU, {SIG_IGN, [TTOU], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_IGN, [TTIN], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_IGN, [TSTP], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGHUP, {SIG_IGN, [HUP], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGPIPE, {SIG_IGN, [PIPE], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGCHLD, {SIG_IGN, [CHLD], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
readlink("/proc/self/exe", "/opt/hzqzqdmatu", 1023) = 15
clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0) = 21657
exit_group(0) = ?
+++ exited with 0 +++
結果意外出現了,我跟蹤下這個程式,結果它居然自殺了(把自己程式檔案幹掉了),算你狠!!!然後想用netstat看下網路連線情況,結果居然查不到任何對外的網路連線,開始懷疑命令被修改過了。使用stat 檢視系統命令ps ls netstat ps pstree等等,修改時間都在6月24日,也就是在6天內,這讓我猛然想起傳說中的rootkit使用者態級病毒!!!!有可能是之前設定了root密碼為123456,又把機器放到過公網上,被人入侵了。來,查一把它在相關路徑中還放了哪些程式:
[root@localhost opt]# find /bin -mtime -6 -type f
/bin/jqdmewpeifrdiz
/bin/zidrfiepwemdqj
/bin/zidrfiepwemdqj.sh
[root@localhost opt]# vim /bin/zidrfiepwemdqj.sh
[root@localhost opt]# find /usr/bin -mtime -6 -type f
/usr/bin/pukhvxslzk
/usr/bin/etwelnhtvu
[root@localhost opt]# find /usr/sbin -mtime -6 -type f
[root@localhost opt]# find /sbin -mtime -6 -type f
[root@localhost opt]# cat /bin/zidrfiepwemdqj.sh
#!/bin/sh
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/X11R6/bin
cp "/bin/zidrfiepwemdqj" "/bin/ebstpmcjbp"
果子實驗告訴你,把這些程式都刪除掉,幾秒後也會自動生成的,所以我們繼續向真相進軍,欲知後事如何,請聽下回分解。
相關文章
- 記錄一次K8s pod被殺的排查過程K8S
- 記一次FreeBSD系統中mysql服務異常的排查過程MySql
- 深圳信獅一次 Linux 系統被攻擊的分析過程Linux
- 【Ubuntu】記一次伺服器被礦工光顧的排查過程Ubuntu伺服器
- 記一次OOM問題排查過程OOM
- 一次HIS系統卡頓原因排查過程分享
- 記一次"記憶體洩露"排查過程記憶體洩露
- 記一次系統演變過程
- 記錄一次記憶體洩漏排查過程記憶體
- 如何排查linux伺服器被入侵Linux伺服器
- 記一次使用windbg排查記憶體洩漏的過程記憶體
- 一次奇怪的的bug排查過程
- Linux伺服器被入侵後的處理過程Linux伺服器
- 記錄一次Flink作業異常的排查過程
- 解Bug之路-記一次儲存故障的排查過程
- 記一次線上崩潰問題的排查過程
- 記一次排查Flutter中預期外rebuild的過程FlutterRebuild
- 記一次堆外記憶體洩漏排查過程記憶體
- 線上的一次fullgc排查過程GC
- 記錄一次線上OOM情況排查過程OOM
- 一次排查Java專案記憶體洩漏的過程Java記憶體
- 記錄一次排查解決伺服器卡死的過程伺服器
- 記錄一次資料庫CPU被打滿的排查過程資料庫
- 排查Mysql突然變慢的一次過程MySql
- 主機被入侵分析過程
- linux檢測系統是否被入侵(上)Linux
- 一次線上介面超時的排查過程
- 一次JVM GC長暫停的排查過程!JVMGC
- 一次JVM GC長暫停的排查過程JVMGC
- 一次 Java 記憶體洩漏排查過程,漲姿勢Java記憶體
- Linux中如何檢測系統是否被入侵Linux
- 一次線上問題的排查解決過程
- 一次FGC導致CPU飆高的排查過程GC
- 一次ygc越來越慢的問題排查過程GC
- 主機被入侵分析過程報告
- 記一次記憶體溢位問題的排查、分析過程及解決思路記憶體溢位
- 解Bug之路-記一次中介軟體導致的慢SQL排查過程SQL
- 一次IOS通知推送問題排查全過程iOS
- 一次Linux遭入侵,挖礦程式被隱藏案例分析Linux