postgresql被注入之後

  • 2019 年 10 月 31 日
  • 筆記

    本來只是貪便宜買了個一年特價的阿里雲伺服器,做做測試什麼的,結果不知道哪一天開始阿里雲安全中心就開始給我發什麼安全提示類的資訊,一開始我並不在意,因為這些都是套路,不過是想讓我升級購買高防盾罷了,反正是測試用的伺服器無所謂,頂多就重裝系統罷了。就這樣過了半年左右,最近安全提示就像簡訊轟炸一樣鋪天蓋地的來,近來也比較空就看了一眼,WTF成為挖礦肉雞了,於是開始清理。。。。

    一開始以為就是簡單的計劃任務清理下就完事了,結果無限循環,於是開始百度。

#登錄我的ubuntu查看了一下進程  ps -ef

發現多了幾個postgres向遠程伺服器發送請求的進程,於是優先想到殺死進程

kill  進程ID

全部殺完再次查看,MLGB自啟動了又多了一堆,這個時候就想應該是從postgres這個用戶入手,回想了半天但是裝PG的時候似乎是跟著網上的教程弄,搞得本地的postgres用戶密碼為空,於是趕緊加個密碼

sudo passwd postgres

設置好之後又殺了一遍進程,心想應該OK了吧,MLGB一查看又一堆,於是靜下心來冥想,終於應該是我的postgres遠程連接密碼太弱造成的吧,於是改密碼

#登錄psql終端  sudo -u postgres psql  #在終端提示行底下鍵入  ALTER USER postgres WITH PASSWORD ‘一大堆亂七八糟自己都記不住的字元’;  #然後退出終端  q  #重啟服務  sudo service postgres restart

心想這下應該好了,結果不出意外還是MLGB,改都改了難道不對?於是決定先停下postgres服務

service postgres stop

好的,服務是停了進程還在,於是再殺一遍,這次查看HAHAHAHA好了~!

但是我是需要啟動postgres服務的,於是再次啟動

service postgres start

果不其然,那堆熟悉的進程又回來了。。。

不過這次大概知道方向了,和postgres這個服務有關係,那麼是不是這個東西有什麼修補程式沒打?於是一頓搜索,都是教人怎麼注入postgresql的

好吧,自己嘗試一下吧,於是仔細查看了進程資訊發現都是通過/bin/sh來啟動curl

於是心想把這兩個東西幹掉不就完事了

#然後通過find命令找到他們  find / -name sh  find /  -name curl

出來一大堆結果,仔細篩選一下鎖定了/bin/sh  和 /bin/curl

於是二話不說一頓刪除

rm -f /bin/sh  rm -f /bin/curl

再次查看進程,OH~YEAH那些進程果然通通消失了

趕緊重啟機器確認一下

reboot

WTF各種服務開不起來了,service命令提示沒有許可權,什麼鬼,這下懵逼了,於是想到莫不是刪了系統的東西?趕緊搜索一下,果不其然sh是用來啟動腳本的,完了個蛋,趕緊查一下補救方法

#終於找到了補救方法就是通過/bin/bash做一個軟連接就可以,問題是該目錄下要有bash,還好運氣不錯該目錄下有bash於是就做個軟連接  ln -s  /bin/bash  /bin/sh

再次重啟,各項服務都正常了,連那個該死的挖礦進程也回來了,*()&%*……*&%

回到原點,再次分析進程發現都是去訪問https://pastebin.com/這個網址,於是就去搜索這個網址,果然找了了一些前輩的分享,趕緊瞜一眼

我找到了這篇https://blog.csdn.net/u010457406/article/details/89328869

跟著裡面的步驟發現我ubuntu的系統yum不到bz2,又束手無策了,於是繼續往下看,好傢夥這位大哥把清楚函數的程式碼貼出來了,真是感激,於是照著裡面寫的命令一條一條的試,果然隱藏著無數的坑,順便提一下我的是被偽裝在sendmail的文件中通過crontab定時任務發送,於是一頓操作之後系統似乎沒事了,各種重啟什麼的也沒問題,至今問題解決已經過了8小時暫時安全,已經跟著阿里雲裡面這方面的補救措施一步步做了。

PS:最後提一嘴,寶塔面板雖然好用但是不會配置的東西還是不要亂裝,或者要了解一下再裝,我用寶塔安裝的redis雖然傻瓜但是沒有提供更改埠和開啟密碼的介面,似乎有些人是因為redis的漏洞被注入的,希望看到文章的兄弟們如果redis沒有密碼沒改埠是時候行動起來了~!