AWD 类型的线下赛我觉着靠的是平时积累的技巧和万年的手速(脚本),见的多了碰到问题应付起来就会容易些;

网上也有好多师傅们写的技巧,文末附上链接;

这篇临时写给某位伙计;

List

1、备份。源码以及数据库,可以备份到隐蔽的目录(.xx)下,顺便down到本地(Win下:Winscp,FileZilla;Mac:scp,Transmit..);

2、扫描后门。有的比赛主办方留有后门,利用安全狗、D盾这类软件来扫描源码,快速定位并利用;或者利用seay的代码审计工具也可快速扫描到后门;

3、弱口令。绝大多数情况下,所有队伍的Web后台、phpmyadmin等服务的管理密码都一样,快速修改自己密码(无关紧要的可直接mv来改名)并利用;

4、自写敏感功能。主办方可能已经把CMS本身的漏洞补全了,并自写了一些敏感功能,如上传、包含界面..,这时候需要自己手动去发现(利用seay代码审计工具可快速定位、ls -t按修改时间来看最新被修改的文件),分析,删除,利用;

5、监测文件上传时间可快速发现他人shell,并加以利用。我们上传的shell也可以修改文件时间来加强混淆,touch -r 目的 源;

6、不要想办法提权,费时费力不讨好,给root的主办方都是假的;

7、开一台ssh只做一件事,tail -f *.log,看日志,不言而喻,抓他们的payload并利用;

8、CMS补漏洞没必要按着网上的一步一步修改源码来改,如果是一些无关紧要的功能,直接mv改名,大多数主办方只是check服务是否能正常运行;

9、shell使用外部接受参数进行命令调用,多POST;

10、权限维持很多方法,如果被种上都很恶心,不过如果挂上waf(禁止文件上传,执行任何命令均返回假flag,发现敏感字段直接exit [过滤都是假的],…)这些都是浮云,手速还是最重要的;

11、为了避免自己上传的shell都一样而被别人利用于其他服务器,可以采用md5等hash来命名文件名(避免,太扎眼)或者密码;

12、如果被挂上内存马,并且没有权限来restart apache2下,完全可以直接在shell中(www-data 权限)下 kill -9 -1 杀死所有子进程(杀死当前用户所有进程,有权限下慎用),也可以直接killall apache2。这种操作并不会kill掉apache主进程,因为内存马是Apache启动的一个子进程;

13、同12,要注意守护进程的文件,这个才是最恶心的;

线下赛最重要的是文件、流量的监控和自身修补的防御,一人兼职边防边打往往会失去好多分;

具体分工各司其职会轻松好多,这里就体现了团队合作的作用;

该毕业了,想念和 hook,drop 一起打比赛的日子;

eatfriend.gif

Paper