ISCC2019线下赛总结

  1. 前言
  2. 简介
  3. 正文
    1. 1、获得ssh
    2. 2、登录连接ssh
    3. 3、修补防御
      1. 1.WAF
      2. 2.文件监控
      3. 3.删后门
    4. 4、日志分析
    5. 5、后门利用
    6. 6、攻击
  4. 感悟

前言

今年的ISCC线下赛,完美结束了。这是我第一次参加ctf线下赛,同时非常有幸能够参加这次竞赛。在比赛中又学到了好多知识。于是现在按照惯例,当然是总结一下了。。。。。。

简介

整个赛程分为:上午的选择题、ctf题和下午的攻防赛。

上午的选择题,大部分是去年的原题。ctf题感觉有点难度,不过前两道,也是原题。

在下午赛程中几乎被大佬们吊打。在大佬打我们的私地1的时候,我们还没做出自己私地1的题,也意味着我们还没拿到自己的第一个靶机。。。再次显示出我很菜很菜。

正文

看着分不断往下掉。心理非常慌,不断查百度、google,找到了非常类似的题,队友复现一波,我们终于有机会拿到自己队的第一个靶机。

1、获得ssh

私地1:私地1解题详情

私地2:私机二是高端口,可以扫出来是12580。然而,第二个靶机我们并没拿到,后期被打的很惨。。。。

2、登录连接ssh

意想不到的是,拿到ssh账号和密码后,竟没有第一时间登陆上,而又刚好开始了新的一轮,以至于我们再次掉分。

主要是上面这个,当我意外的把“密码”改成“Keybord Interactive”的时候,登上了,但是当时不知道为什么,毕竟第一次参加线下赛。于是我现在查了一下原因,发现:

  • 基于口令的验证方式(password authentication method),通过输入用户名和密码的方式进行远程机器的登录验证。
    基于公共密钥的安全验证方式(public key authentication method),通过生成一组密钥(public key/private key)来实现用户的登录验证。
    基于键盘交互的验证方式(keyboard interactive authentication method),通过服务器向客户端发送提示信息,然后由客户端根据相应的信息通过手工输入的方式发还给服务器端。

3、修补防御

在登陆上ssh账号和密码后。我们做的第一件事情就是备份!备份!备份!

然后如果某次遇到弱口令,一定要改ssh密码,我还不会改。。。。

接下来,开启修补漏洞、删后门的工作l。

1.WAF

我先上waf

用法:

将waf.php传到要包含的文件的目录

在所需要防护的页面加入代码require_once('waf.php');就可以做到页面防注入、跨站。

如果想整站防注,就在网站的一个公用文件中,如数据库链接文件config.inc.php中!添加require_once('waf.php');来调用本代码

2.文件监控

学长赛前给了个脚本,但是作为十成十的小白,当时没有用,也不太会用。

用法:

jiankong.py /var/www/html

网上也有很多文件监控脚本,也可以自己搜下。

3.删后门

先用D盾扫了下,没发现后门。。。那手工检查下吧,emmmm。。。发现了好多后门,有点尴尬!然后我开始了删除大佬后门的操作,本来感觉一切都很顺利。然而,当队友看我删完后,他刷新一下,发现有两个删过的后门又出现了。。。试了几次依旧删不掉。猜想这俩应该就是不死马了。

不死马的使用:

URL+.index.php POST pass=Sn3rtf4ck9&a=system('ipconfig');

例如:

http://127.0.0.1/.index.php
post:pass=Sn3rtf4ck9&a=system('ipconfig');

我们被按的两个不死马如下:

然而,我并没有删过不死马。于是看了赛前学长给我们的工具包,发现解除不死马的文件了。

emmmmm。。。。发现并不会用。作为小白的我,有点蓝瘦。亡羊补牢一下吧,现在开始学习了解一下:

解除不死马:

方法一:找工作人员重置私地虚拟机(听说有三次机会)

方法二:写个脚本不断查杀

方法三:找到木马名字。找到创建,木马对应的进程。修改解除不死马.php

4、日志分析

我忘了放上去了。。。。。。但这也是很重要的

1.感知可能正在发生的攻击,从而规避存在的安全风险

2.应急响应,还原攻击者的攻击路径,从而挽回已经造成的损失

记录log脚本

这种脚本网上有很多。

脚本

<?php
date_default_timezone_set('Asia/Shanghai');
$ip = $_SERVER["REMOTE_ADDR"]; //记录访问者的ip
$filename = $_SERVER['PHP_SELF'];//访问者要访问的文件名
$parameter = $_SERVER["QUERY_STRING"]; //访问者要请求的参数
$time = date('Y-m-d H:i:s',time()); //访问时间
$logadd = '来访时间:'.$time.'-->'.'访问链接:'.'http://'.$ip.$filename.'?'.$parameter."rn";

// log记录
$fh = fopen("log.txt", "a");
fwrite($fh, $logadd);
fclose($fh);
?>

日志分析工具

1.LogForensics 腾讯实验室

https://security.tencent.com/index.php/opensource/detail/15

2.北风飘然@金乌网络安全实验室

https://www.freebuf.com/sectool/126698.html

3.网络ID为piaox的安全从业人员:

https://www.freebuf.com/sectool/110644.html

4.网络ID:SecSky

https://www.freebuf.com/sectool/8982.html

5.网络ID:鬼魅羊羔

http://www.freebuf.com/articles/web/96675.html

5、后门利用

我们猜想其他很多人也应该有这个被按的不死马漏洞,那就利用一下吧。菜刀连一下,然而试了好多都没有连上。。。不知什么原因。也许是因为本小白太菜了。。。

6、攻击

本小白太垃圾了,还没学会。会个SQL注入,结果好像也没用到。还有个一句话木马。

并且,连怎么攻击都不知道。。。。。。我果然够菜!

漏洞类型:sqli居多、文件包含、各种rce、文件上传

感悟

这次参加线下赛收获了好多关于线下赛的知识,体验了一次线下赛的感觉。游戏体验还行,两个私地,基本上防住了一个。遗憾的是,没有借此机会,认识一些大佬。。希望自己再接再励。。

小白进阶ing。。。。


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 qwzf1024@qq.com

×

喜欢就点赞,疼爱就打赏