线下攻防赛总结 === 前言 本文写于2018年5月31日 2018年9月13日 更新一个新的总结:https://hackmd.io/s/Hypjn6D_X 算上这次已经打了两次线下赛了,第一次那个有点太菜。这次还算是准备了东西,但还是经验不足。。。。 主办方为了提示,向cms里加了shell,顺着这个shell类似于pop链一样向上审计很容易发现漏洞,可惜最后一个小时才看出来。。。 上次打的时候上了个waf结果被check down了,于是这次没敢。。。只用了一个删除新文件的脚本。结果还是有师傅能打出shell来,还是以前没见过的内存马,涨姿势了 第一名的师傅们开局五分钟就打了一波,那个时候我们还在找ssh的登录密码。。。log也没准备明白,总体还是缺乏经验。于是这次总结一下 两个cms:hxcms,xsite,都是很久没更新了,是入门审计挺好的cms,网上也有公开的漏洞 ### 首先 --- 分工要明确,一般来讲是一个人守两个人攻。 防守要做的包括但不限于:首先备份源码、上log、waf等前期工作、随时观察分数情况、随时闲逛服务器,手动/写脚本杀shell、攻击手那边挖出洞了得赶紧修补、没思路了可以适当关掉删新文件的waf让人来打,被打的shell一般都是批量打进来的,密码一般都一样,然后批量访问webshell也能蹭到不少分。 攻击要做的就是审计挖洞写脚本批量攻击,挖到洞后及时通知防守的老弟修复,如果顺便告诉怎么修复当然是最好的,比如说注释哪一行之类的,越简单粗暴越好。没思路了看日志摸别人的shell蹭分 ### 内存木马/不死马 --- 读取远程文件的内容写入$code中当作字符串,进入死循环,每次循环后等待五秒继续运行。前三行是最关键的,删除自身,不关闭且保持进程,之后就可以实现木马的功能了。 有几种方法应对这种木马: 1.ps auxww|grep shell.php 找到pid后杀掉进程就可以,删掉脚本是起不了作用的,因为php执行的时候已经把脚本读进去解释成opcode运行了 2.重启php等web服务 3.用一个ignore_user_abort(true)脚本,一直竞争写入(断断续续)。usleep要低于对方不死马设置的值。 4.创建一个和不死马生成的马一样名字的文件夹。 还有一些恶心的php木马在这里就不展开了 ### log --- 记录任何访问,通过日志直接就能用别人的payload去打其他人 附一个log:https://github.com/wupco/weblogger ### 还有几点需要注意 --- waf很容易就被check down,所以要格外小心。但是也要有最基本的防御能力: 1、自动删除新增文件、全局日志 2、D盾/安全狗。实在不行直接把源码下载到本地查杀 3、现场审计一般是来不及的 ,用seay去扫。如果能知道是什么cms直接去搜漏洞就行,一般来讲伸出来的可能性不大,主要看的是对漏洞的快速反应能力。实在不行根据seay的结果去审计效率会高很多 4、一开始就把最初的源码备好份,如果真的check down也好还原
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up