HanDs
管理员

[7月漏洞公开] 运营商安全之广东电信主站getshell(或影响全广东省用户) 





学习中请遵循国家相关法律法规,黑客不作恶。没有网络安全就没有国家安全

本站需要登陆后才能查看

天下武功,无坚不摧,唯快不破!

详细说明:

F595DBF2-5A49-4FC1-B5C7-53728B26AC8F.png



code 区域
http://**.**.**.**/eOrder/getOrderList.action

手工payload试试,确实存在

1e1.jpg



接下来就是写shell了,因为**.**.**.**流量还是挺大的,毕竟是一线城市。猜到会使用cdn或者负载均衡一类的。

先nslookup一下看看dns解析的ip。

<img src="/upload/201605/27153553bbe355f94ca4bdf1d27cc98163e1df6c .png" alt="1C5B1383-478B-4ED8-9FB0-0F6FCE276256.png" />



解析到了这个ip“**.**.**.**”



证明没有cdn,是内网部署了负载均衡。

然而.......

ed11.jpg



发了8万多个请求,才写了一台负载均衡机器的shell。

所以导致连接没半小时就断开连接了。。

接着我就在昨天post了二十一万次请求

36DB329D-1A37-429B-96F6-A56B11B33B88.png



用了大概1天多的时间间隔发包,现在这个webshell只能白天连接,晚上必断。



我估计2/3的机器都给我部署了webshell吧。。。





E34E5878-1C9F-407A-8B10-987B4ACFBC48.png





漏洞证明:

code 区域
#Mon Dec 12 09:32:05 CST 2011
acl.boot.weblogic.server=Administrators,everyone
group.Administrators=system,weblogic
acl.lockServer.weblogic.admin=Administrators
acl.unlockServer.weblogic.admin=Administrators
acl.shutdown.weblogic.admin=Administrators
user.weblogic=0xf1bfadb5238d88ae46a1cf0101a16c9b71db430e
acl.unlockuser.weblogic.passwordpolicy=Administrators
user.system=0xf1bfadb5238d88ae46a1cf0101a16c9b71db430e
acl.modify.weblogic.admin.acl=Administrators







code 区域
#log4j.appender.R.File在不同环境下配置不同
#系统日志描述文件
log4j.rootLogger=ERROR,Rolling

**.**.**.**.apache=ERROR,apache
**.**.**.**.apache=false


#第三方框架输出日志,包括struts,hibernate,spring

**.**.**.**.apache.struts=ERROR, struts
**.**.**.**.apache.struts=false
log4j.appender.struts=org.apache.log4j.RollingFileAppender
log4j.appender.struts.File=log/struts.log
log4j.appender.struts.MaxFileSize=1000KB
log4j.appender.struts.MaxBackupIndex=10
log4j.appender.struts.layout=org.apache.log4j.PatternLayout
log4j.appender.struts.layout.ConversionPattern=%d %5p %c:%L - %m%n


**.**.**.**.eshore=DEBUG,eshore
**.**.**.**.eshore=false
log4j.appender.eshore=org.apache.log4j.RollingFileAppender
log4j.appender.eshore.file=log/eshore.log
log4j.appender.eshore.MaxFileSize=500KB
log4j.appender.eshore.MaxBackupIndex=30
log4j.appender.eshore.layout=org.apache.log4j.PatternLayout
log4j.appender.eshore.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

**.**.**.**.poson=DEBUG,poson
**.**.**.**.poson=false
log4j.appender.poson=org.apache.log4j.RollingFileAppender
log4j.appender.poson.file=log/poson.log
log4j.appender.poson.MaxFileSize=500KB
log4j.appender.poson.MaxBackupIndex=30
log4j.appender.poson.layout=org.apache.log4j.PatternLayout
log4j.appender.poson.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

**.**.**.**.eshore.web.support.onlineservice=ERROR,onlineservice
**.**.**.**.eshore.web.support.onlineservice=false
log4j.appender.onlineservice=org.apache.log4j.RollingFileAppender
log4j.appender.onlineservice.file=log/taskLog/onlineservice.log
log4j.appender.onlineservice.MaxFileSize=500KB
log4j.appender.onlineservice.MaxBackupIndex=30
log4j.appender.onlineservice.layout=org.apache.log4j.PatternLayout
log4j.appender.onlineservice.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

**.**.**.**.eshore.comm.front=ERROR,front
**.**.**.**.eshore.comm.front=false
log4j.appender.front=org.apache.log4j.RollingFileAppender
log4j.appender.front.file=log/front.log
log4j.appender.front.MaxFileSize=500KB
log4j.appender.front.MaxBackupIndex=30
log4j.appender.front.layout=org.apache.log4j.PatternLayout
log4j.appender.front.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

**.**.**.**.eshore.web.mall=ERROR,mall
**.**.**.**.eshore.web.mall=false
log4j.appender.mall=org.apache.log4j.RollingFileAppender
log4j.appender.mall.file=log/mall.log
log4j.appender.mall.MaxFileSize=500KB
log4j.appender.mall.MaxBackupIndex=10
log4j.appender.mall.layout=org.apache.log4j.PatternLayout
log4j.appender.mall.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

**.**.**.**.eshore.comm.front.login=ERROR,login
**.**.**.**.eshore.comm.front.login=false
log4j.appender.login=org.apache.log4j.RollingFileAppender
log4j.appender.login.File=log/login.log
log4j.appender.login.MaxFileSize=1000KB
log4j.appender.login.layout=org.apache.log4j.PatternLayout
log4j.appender.login.layout.ConversionPattern=%d %5p %c:%L - %m%n

#新的网上支付用户端日志
**.**.**.**.eshore.web.pay=ERROR,PaymentNewLogs
**.**.**.**.eshore.web.pay=false
log4j.appender.PaymentNewLogs=org.apache.log4j.RollingFileAppender
log4j.appender.PaymentNewLogs.file=log/taskLog/PaymentNewLogs.log
log4j.appender.PaymentNewLogs.MaxFileSize=3000KB
log4j.appender.PaymentNewLogs.MaxBackupIndex=15
log4j.appender.PaymentNewLogs.layout=org.apache.log4j.PatternLayout
log4j.appender.PaymentNewLogs.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#网上支付对账数据定时器获取对账记录
**.**.**.**.eshore.web.pay.payment.timer=ERROR,easylinkPayListTimerWeb
**.**.**.**.eshore.web.pay.payment.timer=false
log4j.appender.easylinkPayListTimerWeb=org.apache.log4j.RollingFileAppender
log4j.appender.easylinkPayListTimerWeb.file=log/taskLog/PaymentNewTimerLogs.log
log4j.appender.easylinkPayListTimerWeb.MaxFileSize=3000KB
log4j.appender.easylinkPayListTimerWeb.MaxBackupIndex=15
log4j.appender.easylinkPayListTimerWeb.layout=org.apache.log4j.PatternLayout
log4j.appender.easylinkPayListTimerWeb.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n


##浏览统计脚本写记录的,必须可用且保持INFO等级
#**.**.**.**.eshore.comm.front.user.track.WriteAndReadTxtFile=INFO, pvfile
#**.**.**.**.eshore.comm.front.user.track.WriteAndReadTxtFile=false
#log4j.appender.pvfile=**.**.**.**m.front.user.track.PvRollingFileAppender
#log4j.appender.pvfile.File=log/accesslog/pv_log/open_log.log
#log4j.appender.pvfile.MaxFileSize=130KB
#log4j.appender.pvfile.MaxBackupIndex=100
#log4j.appender.pvfile.layout=org.apache.log4j.PatternLayout
#log4j.appender.pvfile.layout.ConversionPattern=%m%n

**.**.**.**.eshore.comm.front.user.track.PvRollingFileAppender=ERROR, pvRollingFile
log4j.appender.pvRollingFile=**.**.**.**m.front.user.track.PvRollingFileAppender
log4j.appender.pvRollingFile=org.apache.log4j.RollingFileAppender
log4j.appender.pvRollingFile.File=log/taskLog/pvRollingFile.log
log4j.appender.pvRollingFile.MaxFileSize=100KB
log4j.appender.pvRollingFile.MaxBackupIndex=20
log4j.appender.pvRollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.orderInfolog.layout.ConversionPattern=%d %5p %c:%L - %m%n

#**.**.**.**.eshore.comm.front.user.track.ReadTxtToDBTask=DEBUG, readTxtToDBTask
#**.**.**.**.eshore.comm.front.user.track.ReadTxtToDBTask=false
#log4j.appender.readTxtToDBTask=org.apache.log4j.RollingFileAppender
#log4j.appender.readTxtToDBTask.File=log/taskLog/readTxtToDBTask.log
#log4j.appender.readTxtToDBTask.MaxFileSize=100KB
#log4j.appender.readTxtToDBTask.MaxBackupIndex=20
#log4j.appender.readTxtToDBTask.layout=org.apache.log4j.PatternLayout
#log4j.appender.readTxtToDBTask.layout.ConversionPattern=%d %5p %c:%L - %m%n

**.**.**.**.eshore.comm.front.user.track.task.WriteTrackDataToDBTask=ERROR, WriteTrackDataToDBTask
**.**.**.**.eshore.comm.front.user.track.task.WriteTrackDataToDBTask=false
log4j.appender.WriteTrackDataToDBTask=org.apache.log4j.RollingFileAppender
log4j.appender.WriteTrackDataToDBTask.File=log/taskLog/WriteTrackDataToDBTask.log
log4j.appender.WriteTrackDataToDBTask.MaxFileSize=100KB
log4j.appender.WriteTrackDataToDBTask.MaxBackupIndex=20
log4j.appender.WriteTrackDataToDBTask.layout=org.apache.log4j.PatternLayout
log4j.appender.WriteTrackDataToDBTask.layout.ConversionPattern=%d %5p %c:%L - %m%n

#ODE异常跟踪
**.**.**.**.poson.common.ODELog=INFO,ode
**.**.**.**mon.ODELog=false
log4j.appender.ode=org.apache.log4j.RollingFileAppender
log4j.appender.ode.File=log/ode.log
log4j.appender.ode.MaxFileSize=500KB
log4j.appender.ode.MaxBackupIndex=30
log4j.appender.ode.layout=org.apache.log4j.PatternLayout
log4j.appender.ode.layout.ConversionPattern=%d %5p %c:%L - %m%n

#业务办理框架日志
**.**.**.**.eshore.web.transaction.OperationInitAction=ERROR,Operation
**.**.**.**.eshore.web.transaction.OperationInitAction=false
log4j.appender.Operation=org.apache.log4j.RollingFileAppender
log4j.appender.Operation.file=log/Operation.log
log4j.appender.Operation.MaxFileSize=500KB
log4j.appender.Operation.MaxBackupIndex=30
log4j.appender.Operation.layout=org.apache.log4j.PatternLayout
log4j.appender.Operation.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#跟踪登录号操作间隔时间
**.**.**.**.eshore.comm.front.user.track.util.ClickFilter=INFO, ClickFilter
**.**.**.**.eshore.comm.front.user.track.util.ClickFilter=false
log4j.appender.ClickFilter=org.apache.log4j.RollingFileAppender
log4j.appender.ClickFilter.File=log/accesslog/pv_test/open_web_time.txt
log4j.appender.ClickFilter.MaxFileSize=100KB
log4j.appender.ClickFilter.MaxBackupIndex=20
log4j.appender.ClickFilter.layout=org.apache.log4j.PatternLayout
log4j.appender.ClickFilter.layout.ConversionPattern=%d %5p %c:%L - %m%n

#登录专属日志记录ticket
**.**.**.**.eshore.comm.front.login.ua.action=WARN,ualogin
**.**.**.**.eshore.comm.front.login.ua.action=false
log4j.appender.ualogin=org.apache.log4j.RollingFileAppender
log4j.appender.ualogin.file=log/ualogin.log
log4j.appender.ualogin.MaxFileSize=2000KB
log4j.appender.ualogin.MaxBackupIndex=30
log4j.appender.ualogin.layout=org.apache.log4j.PatternLayout
log4j.appender.ualogin.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#Web商家系统
**.**.**.**.eshore.web.integral=DEBUG,mall_integral
**.**.**.**.eshore.web.integral=false
log4j.appender.mall_integral=org.apache.log4j.RollingFileAppender
log4j.appender.mall_integral.file=log/mall_integral.log
log4j.appender.mall_integral.MaxFileSize=500KB
log4j.appender.mall_integral.MaxBackupIndex=10
log4j.appender.mall_integral.layout=org.apache.log4j.PatternLayout
log4j.appender.mall_integral.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#获取密码 Add by D.chao 2010-10-29
**.**.**.**.eshore.web.account.password.PasswordObtainCheckAction=DEBUG,resetPwd
**.**.**.**.eshore.web.account.password.PasswordObtainCheckAction=false
log4j.appender.resetPwd=org.apache.log4j.RollingFileAppender
log4j.appender.resetPwd.file=log/resetPwd.log
log4j.appender.resetPwd.MaxFileSize=500KB
log4j.appender.resetPwd.MaxBackupIndex=10
log4j.appender.resetPwd.layout=org.apache.log4j.PatternLayout
log4j.appender.resetPwd.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#获取密码 Add by D.chao 2010-10-29
**.**.**.**.eshore.web.pay.payment.tenpay.TenpayReturnActionQQ=DEBUG,tenpayQQ
**.**.**.**.eshore.web.pay.payment.tenpay.TenpayReturnActionQQ=false
log4j.appender.tenpayQQ=org.apache.log4j.RollingFileAppender
log4j.appender.tenpayQQ.file=log/tenpayQQ.log
log4j.appender.tenpayQQ.MaxFileSize=500KB
log4j.appender.tenpayQQ.MaxBackupIndex=10
log4j.appender.tenpayQQ.layout=org.apache.log4j.PatternLayout
log4j.appender.tenpayQQ.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#FTP代码日志 Add by wulz 2011-10-12
**.**.**.**.eshore.comm.front.ftp=DEBUG,newFtp
**.**.**.**.eshore.comm.front.ftp=false
log4j.appender.newFtp=org.apache.log4j.RollingFileAppender
log4j.appender.newFtp.file=log/newFtp.log
log4j.appender.newFtp.MaxFileSize=500KB
log4j.appender.newFtp.MaxBackupIndex=10
log4j.appender.newFtp.layout=org.apache.log4j.PatternLayout
log4j.appender.newFtp.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n

#活动相关代码日志 Add by wulz 2012-01-04
**.**.**.**.eshore.web.activity=DEBUG,activity
**.**.**.**.eshore.web.activity=false
log4j.appender.activity=org.apache.log4j.RollingFileAppender
log4j.appender.activity.file=log/activity.log
log4j.appender.activity.MaxFileSize=500KB
log4j.appender.activity.MaxBackupIndex=10
log4j.appender.activity.layout=org.apache.log4j.PatternLayout
log4j.appender.activity.layout.ConversionPattern=%d %5p %c{2}:%L - %m%n





其中有各种日志记录的目录以及注释。





接着查看.bash_histroy得知该服务器可能是核心的关键。

code 区域
scp fabu@**.**.**.**:/mboss/fabu/ecss/upgrade/fb.sh .





接着翻了翻配置文件的调用接口

code 区域
com.poson.app2.url=**.**.**.**:80/necssServer/services/app/ejbService
com.poson.app2.authHander=**.**.**.**mon.tools.remote.web.webservice.WebAuthHandler
com.poson.app2.Context.SECURITY_PRINCIPAL=ecss
com.poson.app2.Context.SECURITY_CREDENTIALS=ecss!@#ecss







查看一个常用的部署脚本得知其发布服务器的ftp账户密码。

code 区域
FTP_IP="**.**.**.**"
FTP_USER="fabu"
FTP_PASSWORD="Aa123456"
FTP_HOME="/mboss/fabu/ecss"





6F96086E-9B3B-471A-8099-BE5D9B4788C5.png







接着发现内网某台机器提供memcached服务

code 区域
cacheServers=**.**.**.**:11211
serverWeights=1,1
sysId=ECSS
ECSS.EKEY=crmAxdf
ECSS.ID=tRsw8sgHlk4=





因为负载均衡多台机器不能允许直接访问外网,出口流量也只有80端口能够ping外网,除非使用端口复用,将代理流量转发到80端口,但是这样也许会对线上业务造成影响。

所以至今并没有很好的方式绕过WAF进内网,但如果服务器都挂马的话,相信肉鸡上线率还是很客观的



修复方案:

98D62497-C6ED-4A13-AAA4-42AB4B66E628.png


学习中请遵守法律法规,本网站内容均来自于互联网,本网站不负担法律责任
运营商 安全 广东 电信 g et sh el l
#1楼
发帖时间:2016-7-18   |   查看数:0   |   回复数:0
游客组
快速回复