溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

SSH蜜罐cowrie實(shí)戰(zhàn)

發(fā)布時間:2020-07-17 14:25:04 來源:網(wǎng)絡(luò) 閱讀:1100 作者:eflypro小普 欄目:網(wǎng)絡(luò)安全
背景

最近有一批服務(wù)器被黑,而且數(shù)量較多,影響也很大。我們的服務(wù)器基本上都是做了防火墻策略,同時密碼也比較復(fù)雜的,目前還沒有特別好的思路去排查(因?yàn)槲覀冎岸紱]有做好相關(guān)的日志收集或者預(yù)先準(zhǔn)備好手段,導(dǎo)致出問題后能夠做的東西不多,而且被黑的機(jī)器基本都被替換了系統(tǒng)命令,能做的就更加少了)。

在梳理被黑的服務(wù)器時發(fā)現(xiàn),有一臺服務(wù)器的防火墻是關(guān)了的(也許是被黑后關(guān)的,也許是一直都是關(guān)了人為疏忽)。既然沒有特別好的思路,那我們目前就先設(shè)定這臺服務(wù)器是最先被黑的,因?yàn)樗阑饓﹃P(guān)了,然后被作為跳板陸續(xù)黑了其他機(jī)器,如果這個假設(shè)成立的話,那就是說我們常用的密碼已經(jīng)被外界所收錄,為了證明這一個假設(shè),我們需要一些工具。SSH蜜罐就是最好的證明手段,SSH蜜罐有很多,考察了一番后,最終選擇了cowrie,其實(shí)也不是說它就是同類產(chǎn)品最好的,就是看了一下GitHub發(fā)現(xiàn)都有保持更新,而其他類型的有的對上一次更新已經(jīng)是幾年前的了。


cowrie介紹

http://www.cowrie.org/ 官網(wǎng),說真的這個網(wǎng)頁做得真不行,能看的東西很少或者做得很隱蔽我沒能找到吧。
https://github.com/cowrie/cowrie 這個是代碼托管GitHub地址,內(nèi)容還算可以。
總體來講,我們這次所需要用的是一個SSH蜜罐,何謂SSH蜜罐,通俗的講,就是用程序模擬一個SSH端口服務(wù),讓***以為是真的SSH服務(wù)連接上來,然后收集相關(guān)信息比如:IP、登錄所用的賬號、登錄上來之后做了什么操作等等。
cowrie做得比較豐富,它可以跟mysql、elk等對接,可以做詳細(xì)的******數(shù)據(jù)分析,本篇只針對我們的被黑案例使用cowrie做驗(yàn)證,所以只介紹最基礎(chǔ)實(shí)用的方法,詳細(xì)的跟第三方系統(tǒng)對接暫不介紹。


cowrie安裝

cowrie的安裝方法也是有點(diǎn)隱晦,沒有直接訪問GitHub地址就顯示出來,需要自己手動訪問GitHub地址的INSTALL.md文件,地址是 https://github.com/cowrie/cowrie/blob/master/INSTALL.md

官方介紹安裝的環(huán)境應(yīng)該是Ubuntu,我們所使用的環(huán)境是centos 7.0,不過大同小異,下面貼上具體的安裝步驟方法,只參考了官方的部分步驟,沒有全部執(zhí)行。

安裝配置cowrie

  1. #安裝git python-virtualenv沙盒 gcc等

  2. yum install -y git python-virtualenv bzip2-devel libffi-devel gcc


  3. #升級libcurl,要不等下git clone代碼可能會出錯

  4. yum update -y nss curl libcurl


  5. #創(chuàng)建一個cowrie用戶用于運(yùn)行cowrie,不直接用root運(yùn)行,這樣比較安全

  6. adduser cowrie

  7. passwd cowrie

  8. #輸入密碼,之后就切換過去cowrie賬號

  9. su - cowrie


  10. #git 拉cowrie代碼下來

  11. git clone http://github.com/cowrie/cowrie


  12. #成功后進(jìn)入cowrie目錄

  13. cd cowrie


  14. #cowrie依賴python的 virtualenv沙盒,支持python2、python3,我們使用的centos 7.0 默認(rèn)是python 2.7,所以我們就用2.7的版本初始化

  15. virtualenv --python=python2 cowrie-env


  16. #激活

  17. source cowrie-env/bin/activate


  18. #先更新pip

  19. pip install --upgrade pip


  20. #更新完pip后就輪到安裝cowrie依賴的python庫,這里需要gcc編譯庫所以之前預(yù)先已經(jīng)安裝好了gcc

  21. pip install --upgrade -r requirements.txt


  22. #一切順利的話,現(xiàn)在就開始配置cowrie文件和啟動cowrie了

  23. #先復(fù)制一份cowrie的配置文件和模擬SSH的root賬號


  24. #我們使用默認(rèn)自帶的配置文件,默認(rèn)監(jiān)聽模擬SSH端口是 2222,這里如果要改成22的話還需要額外的工作,因?yàn)檫\(yùn)行在沙盒里面,監(jiān)聽22端口需要提權(quán),這里有點(diǎn)麻煩,我們就使用默認(rèn)的2222端口,等下用iptable的端口轉(zhuǎn)發(fā)來把22端口轉(zhuǎn)發(fā)到2222去,這樣比較簡單

  25. cp etc/cowrie.cfg.dist etc/cowrie.cfg


  26. #創(chuàng)建一個模擬SSH root賬號文件,因?yàn)槲覀円?yàn)證是不是我們的內(nèi)部密碼泄露出去了,所以我們就把自己懷疑泄密的root密碼寫上去,只有這些root密碼才能登錄上我們的SSH蜜罐

  27. cat etc/userdb.txt

  28. #內(nèi)容如下(還支持正則、匹配等特性,這里暫時用不上):

  29. root:x:懷疑泄露密碼1

  30. root:x:懷疑泄露密碼2

  31. root:x:懷疑泄露密碼3


  32. #配置好之后,我們現(xiàn)在就開始啟動cowrie

  33. bin/cowrie start


  34. #順利啟動之后,使用以下命令可以看到在運(yùn)行的進(jìn)程,使用stop則關(guān)閉cowrie

  35. bin/cowrie status

配置防火墻策略

  1. #現(xiàn)在cowrie的工作已經(jīng)完成,接下來是把SSH端口22轉(zhuǎn)發(fā)到cowrie蜜罐端口2222,在此之前,我們先把默認(rèn)的正常SSH服務(wù)端口從22改成其他端口,比如7997

  2. vim /etc/ssh/sshd_config


  3. #修改端口

  4. Port 7997


  5. #把selinux關(guān)了,要不然修改ssh端口重啟ssh服務(wù)會失敗

  6. setenforce 0

  7. service ssh restart


  8. #放開22 2222 tcp端口,讓外面所有人都可以訪問,加入iptable規(guī)則

  9. -A INPUT -p tcp --dport 22 -j ACCEPT

  10. -A INPUT -p tcp --dport 2222 -j ACCEPT


  11. #最后一步端口轉(zhuǎn)發(fā)

  12. iptables -t nat -A PREROUTING -p tcp --dport 22 -j REDIRECT --to-port 2222

測試

#現(xiàn)在我們驗(yàn)證一下cowrie是否正常服務(wù)ssh root@cowrie地址#輸入user.txt以外密碼,如果是登錄失敗那就正常#輸入user.txt里面內(nèi)置的密碼,能夠登錄就正常

分析

cowrie運(yùn)行日志放在沙盒內(nèi)部的 var/log/cowrie里面,默認(rèn)有兩種格式,log是普通日志格式,json則是json格式日志,運(yùn)行了才一個晚上就馬上發(fā)現(xiàn)問題了,具體日志內(nèi)容部分如下

SSH蜜罐cowrie實(shí)戰(zhàn)

可以看到,外面真的有***用我們這個內(nèi)部密碼成功登陸上來了,下面那串則是這個***登錄后所做的操作,就是下載一個后門軟件執(zhí)行后刪除,跟我們預(yù)先設(shè)定的一致。
這里還把***的pl文件都保存起來了,放在沙盒的

var/lib/cowrie/downloads/2438c584311c439b585075c68c443e2e96b43a826aaf42643d7808d436df3731
命令行終端輸入的日志記錄放在沙盒的

var/lib/cowrie/tty/1b54104347e987372b323bc6701625889cc01b8de2ce13bc9a297f1f620b5140



向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI