Linux系統被***後處理經歷

背景

 

操作系統:Ubuntu12.04_x64

運行業務:公司業務系統,爬蟲程序,數據隊列。

 

服務器託管在外地機房。

 

突然,頻繁收到一組服務器ping監控不可達郵件,趕緊登陸zabbix監控系統查看流量狀況。

 

http://mmbiz.qpic.cn/mmbiz_png/mbeDyxcszeGMibBEB8xfyl0Yyt7NduQ5icSoKHy0UcyeqqwVtRiaQBicjKfXKPNgOrTV8lgZlGznIuz7njofWHderQ/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

 

 

可見流量已經達到了800M左右,肯定不正常,馬上嘗試SSH登陸系統,不幸的事,這種情況是很難登錄系統操作的。該怎麼辦?

 

1、排查問題

 

第一反應是想馬上切斷外部網絡,通過內網連接查看。可是這樣一來流量就會消失,但也很難查找***源了。

 

於是聯繫機房協助解決,授權機房技術登錄到系統,先通過w命令查看是否有異常用戶在登錄,再看看登錄日誌/var/log/auth.log,預料之中,日誌已經清空;最後使用工具找出那個連接佔用流量大,我使用了iftop工具。

 

 

 

機房技術給我拍了照,看到本地一直通過http方式向104.31.225.6這個ip發送數據包,而且持續不斷。

 

那好,先把這個ip給屏蔽了試試:

 

iptables –AOUTPUT –d 104.31.225.6 –j DROP

哇塞!奇蹟出現了,流量下去了,能正常連接了,面部逐漸露出笑容。

過一會兒,不幸的事情發生了,流量又上來了,擦!什麼情況!心情頓時緊張起來。

 

又趕緊聯繫機房技術,執行上次的操作。

 


 

傻眼了,目的ip變了,這可咋搞,不可能一個個封吧!

 

靜下心來,仔細想了下,本地向外發包,那本地肯定會有程序來發!這可咋找啊?

 

2、查找***源

 

先通過netstat工具過濾端口,查看運行的進程ID

netstat–atup |grep 15773

什麼都沒有啊,再換個端口試試,同樣的效果!

讓機房技術觀察了下連接狀態,原來是短連接,會很快的釋放端口,所以纔看不到端口的連接狀態。

正常長連接來說,可以使用lsof –i:15773這樣方式找到PID,再lsof –p PID找到打開的相關文件。

 

我想靜靜~

 

好吧!決定先切斷外部網絡,內網SSH進入系統,先找到這個發包的程序,走起!

 

先通過netstat –antup 查看有無開放可疑的端口或者連接。

再通過ps –ef查看有無可疑的進程。

仔細看了看,都沒有發現可疑的。

難道是植入了rootkit***程序,說不好,試試看吧!

 

想要判斷系統有沒有植入了rootkit可以使用md5sum校驗執行文件判斷,先找個同版本操作系統,獲取到這個工具執行文件的md5值,再獲取可疑的工具執行文件md5值,比較兩個值是否相同,如果相同說明這個工具是可信任的,如果不相同很有可能是被替換的。另外,一般工具可執行文件大小都在幾十K到幾百K

 

其實我沒有用md5方式來判斷工具是否可信任,因爲完全相同版本操作系統不好找,稍微有點差別,工具就有可能已被更新,md5值不同。我直接使用du –sh /bin/lsof查看,發現大小1.2M,明顯有問題。

 

所以直接下載正常系統裏的netstatps等工具上傳到被黑的系統裏使用,再將不可用的替換掉。

 

3、清理***程序

 

果然,奇蹟出現了,執行ps –ef後,發下最下面有幾行可疑程序。在這裏,本想截圖的,可惜SSH客戶端給關了,沒留下截圖。

 

記憶中,大概是這樣的:

 

pid/sbin/java.log

pid/usr/bin/dpkgd/ps –ef

pid/usr/bin/bsd-port/getty

pid/usr/bin/.sshd

 

看到這幾個,感覺很奇怪,怎麼會有個java.log的執行文件在運行呢,經過找同事覈實有沒有運行這樣的,他們說沒有,那好先殺掉並刪除再說。

 

 

 

緊接着怎麼會有我執行的命令呢,ps –ef,命令的路徑不是/bin/ps,引起了我的懷疑,馬上進入此目錄下查看。

 

 

 

擦,還有幾個,初步判斷是工具被替換了。

 

還有一個怎麼叫getty呢,再正常系統裏面對比進程,發現沒有這個。估計又是***留下的,勞資怒了,寧可錯殺一百,也不放過一個!

 

 

殺掉進程,刪除目錄。

 

.sshd進程?明顯很可疑,難道是ssh後門,先殺掉刪除再說!

 

 

 

再執行ps –ef命令看下,奇怪,java.log進程又起來了,難道有自啓動設置?於是到了/etc/init.d下查看,有個異常腳本,在正常系統的也沒有,打開看了下,果然是啓動***程序的腳本。把腳本刪除,再刪除一次java.log,不再出現了。

 

http://mmbiz.qpic.cn/mmbiz_png/mbeDyxcszeGMibBEB8xfyl0Yyt7NduQ5icicWAjWttmfp6x9dMiacI5icDKNnWEaAwwpnr37rokbZvY7Px4DHa0CG9g/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

http://mmbiz.qpic.cn/mmbiz_png/mbeDyxcszeGMibBEB8xfyl0Yyt7NduQ5ico90FGShAbB659W5tq3XduBaVdNFXOFpyHrNRTwvjeSiac2JWqsuyHZw/0?wx_fmt=gif&tp=webp&wxfrom=5&wx_lazy=1

 

刪除了/sbin/java.log文件過一會又出現了,怎麼回事?估計是getty趁搞的鬼,同樣清除,不再自動生成了。

 

好了,可以開啓外網了,觀察了一會網絡流量不再飆升了,心情有如看到美女一樣的愉快!

 

博客地址:http://lizhenliang.blog.51cto.com

 

4、事件總結

 

ls/usr/bin/dpkgd/   #替換的工具,系統自帶的工具正常不會在這個目錄下,並且也不可用

netstatlsof ps ss

/sbin/java.log #判斷是發包程序,刪除後會自動生成

/usr/bin/bsd-port#判斷是自動生成java.log或着後門程序

/usr/sbin/.sshd #判斷是後門程序

***代碼程序下載地址:http://pan.baidu.com/s/1b3yOVW

小心,直接執行java.log可能會導致linux瞬間基本上無法連接~

 

如果還有其他***程序怎麼辦?如果是XSS***,應用層漏洞***怎麼辦?

針對這些問題,從我們公司角度來說,儘量不重裝系統,業務太複雜。找出***點,跑的程序多,***面多,很棘手。先這樣吧!兵來將擋,水來土掩。~

 

讓***趁機***的原因:

 

1、運維對網絡安全實施落實力度低

2、沒有相關安全測試人員,不能及時發現應用層漏洞

等等...

 

針對這次***,總結了下防護思路:

 

1linux系統安裝後,啓用防火牆,只允許信任源訪問指定服務,刪除不必要的用戶,關閉不必要的服務等。

2、收集日誌,包括系統日誌,登錄日誌,程序日誌等,及時發現潛在風險。

3、針對用戶登錄實時收集,包括登錄時間,密碼重試次數以及用戶執行命令記錄等。

4、對敏感文件或目錄變化進行事件監控,如/etc/passwd/etc/shadow/web/tmp(一般上傳文件提權用)等。

5、進程狀態監控,對新增或可疑進程做好記錄並通知。

6、對上線的服務器系統、Web程序進程安全漏洞掃描。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章