咱们前面分享了TOMCAT入侵的一点小小经验。下面咱们分享一下最常见和简单的Jboss入侵。Jboss一个基于J2EE的开放源代码的应用服务器,JBoss核心服务不包括支持servlet/JSP的WEB容器,一般与Tomcat或Jetty绑定使用。JBoss的默认端口是8080 ,也有人经常配置为80,许多管理员部署完Jboss后不进行安全加固,对外开放了管理界面,且为默认口令,同时有些版本的Jboss也有关的一些漏洞可以利用。入侵者们常利用这个配置不当或是漏洞,进行木马的上传,然后,嘿。。JSP马很多,功能就不讨论了。

前几日,大侠处理了一个安全应急事件,入侵者就是利用这个来进行入侵的。我把过程回放一下,希望对大家有所帮助。

1、漏洞或管理界面的查找,用谷歌。直接输入jmx-console,查找开了jmx-console管理界面的网站,定然会有许多收获。或是查找常见JSP木马的文件名,也会有收获,都是别人已经入侵的站点。比如有一个木马,它有多个目录,你只需要搜索任意或多个目录名或文件名:console-mgr、idssvc、iesvc、wstats、zecmd、zmeu。一不小心 就发现有N个被入侵的网站,甚至多个为政府网站。

快照8

快照9

 

快照10

以上三个图片,就是被上传的木马。

2、木马的上传。通过管理界面,进行木马上传,某网站有弱口令,

1. Jboss管理界面未限制,公网可任意访问,且使用默认口令,可上传木马,进行入侵

http://xxx.xxx.xxx.xxx/web-console/

用户名:admin

密码:admin

恶意攻击者就有可能在服务器上执行添加管理员账号的命令或下载木马程序并运行的命令,最终达到其控制服务器的目的。

恶意攻击者可以通过该方法向服务器上传后门程序,从而获取对服务器的完全控制权;同时可以通过该方法覆盖服务器上的任意文件,从而造成数据丢失或系统损坏等。

许多站点,不用登陆,直接就能进行管理界面。http://xxx.xxx.xxx.xxx:8080/jmx-console/HtmlAdaptor?action=displayMBeans

如何上传木马呢,在管理界面中查找:jboss.deployment 或是查找:flavor=URL,type=DeploymentScanner

快照11

进入找到:URLList,即可在后面看到WAR程序安装包路径,甚至其他入侵者行为时的木马地址,这也算是个收获:

快照12

 

咱们继续说上传的事吧,在下面找到的void addURL(),即可上传木马,输入木马的地址(war压缩文件webshell的url地址),点击Invoke.

快照13

这样木马就上传成功了,然后运行,

快照14

 

 

3、安全建议:给jmx-console加上访问密码,并限制在公网的访问。同时检查版本是否有漏洞,是否需要升级。

1.在 ${jboss.server.home.dir}/deploy下面找到jmx-console.war目录编辑WEB-INF/web.xml文件 去掉 security-constraint 块的注释,使其起作用

2.编辑WEB-INF/classes/jmx-console-users.properties或server/default/conf/props/jmx-console-users.properties (version >=4.0.2)和 WEB-INF/classes/jmx-console-roles.properties

或server/default/conf/props/jmx-console-roles.properties(version >=4.0.2) 添加用户名密码

3.编辑WEB-INF/jboss-web.xml去掉 security-domain 块的注释 ,security-domain值的映射文件为 login-config.xml (该文件定义了登录授权方式)

参考地址:https://community.jboss.org/wiki/SecureTheJmxConsole

 

4、总结:

系统部署完成后,修改口令、限制访问、删除中间过程或临时文件;

对系统进行自评估,比如Acunetix Web Vulnerability Scanner ;

不要对外开放管理界面、或不要使用默认的管理界面;

如无必要,可以限制服务器访问外网的权限,防止反弹。

定期检查自己所有应用或程序的安全,是否有暴出漏洞或0day,及时修补。