前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >线下CTF小贴士

线下CTF小贴士

作者头像
意大利的猫
发布2020-08-20 10:43:58
8070
发布2020-08-20 10:43:58
举报
文章被收录于专栏:漫流砂漫流砂

CTF(Capture The Flag)中文一般译作夺旗赛,在网络安全领域中指的是网络安全技术人员之间进行技术竞技的一种比赛形式。CTF起源于1996年DEFCON全球黑客大会,以代替之前黑客们通过互相发起真实攻击进行技术比拼的方式。发展至今,已经成为全球范围网络安全圈流行的竞赛形式,2013年全球举办了超过五十场国际性CTF赛事。而DEFCON作为CTF赛制的发源地,DEFCON CTF也成为了目前全球最高技术水平和影响力的CTF竞赛,类似于CTF赛场中的“世界杯” 。

the quieter you become,the more you can hear

由于最近参加的比赛比较多,而最惨的就是最近参加的线下攻防赛,所以特来与大家分享一下线下攻防战的惨痛教训!




1

网络环境

不同的公司举办的比赛有不同的形式,我就从我参加过的一些比赛来说说共同点和不同点吧

主要形式就是每个人有一台攻击机,N台靶机,在整个比赛中需要一边攻击其他队伍的靶机,同时修复我方的靶机

能否连接外网是很关键的问题,如果不能连接,那么就需要你具备足够的支持储备,一般不让连接外网也不让带任何个人资料。

靶机和攻击机的网络关系可能是在同一个网段,有的是NAT转换之后映射到一个能访问的网段

2

参赛设备

如果允许使用外网,一般就是自己携带笔记本电脑

如果不允许使用外网,一般就是主办方为大家提供相同的虚拟机。

第一种可能会比较适合大家去打,毕竟是自己熟悉的环境。

第二种其实更加考验个人实力,毕竟面对的是全新的机器,没有个人的东西,这就很考验大家掌握知识和工具使用的能力,还有就是编程能力。

第二种主办方会提供Kali系统的虚拟机,一般都是通过 B/S 架构进行使用,有的厂商真的很垃圾,网络会非常非常卡!

还有就是靶机永远都是Linux系统,有的是Centos,有的是Ubuntu。

3

比赛要求

说到比赛要求,每次都很迷 ......

因为我参加的每一个厂商似乎都没有给出详细的界限,他们一般会给出一个很模糊的界限,比如: 不允许修改服务的配置文件

这就是一个很不清晰的界限:

修改用户默认密码算不算的上是修改配置文件?

还有我用nc开一个端口,之后把这个服务关掉行不行?

还有就是能不能将相关漏洞文件删除掉?

!!!!!!

因为我几次比赛都遇到了那种直接把网站给删掉了,之后厂商也没有能力检测到

!!!!!!

所以说这种比赛的要求是很迷的,如果能省事的时候尽量省事!

4

关于修复靶机

有的比赛是攻击之前有一段特定的时间来进行靶机的修复,这段时间是不允许登陆攻击机的,也就是说只能远程SSH连接到靶机上进行修复

有的比赛是上来就是同时攻防,所以抢占先机比较重要!我们这次就很尴尬,因为前30分钟我的网络不通,之后工作人员去取,取了30分钟。。。,我们其他两个队友没搞明白如何登陆,因为描述实在是不太清楚,而且把端口换了,我们都没有发现(画在界面上,也没有标明白这就是端口),后来还是在工作人员的帮助下进行的。。。

5

关于攻击

上一小节我们说到抢占先机,这个真的是太重要了,因为这种比赛都会在你的Web的CMS中使用默认弱口令,比如admin/admin,取得先机的人可以先进入其他人的后台,之后可以进行种马,持久化。没错,我们在那30分钟里就遭遇了这些,等我们进去的时候,发现我们的网站的密码都被改了,我们自己都进不去!!!害得我们最后去数据库进行了更改,这才改回来。。

上面只是小插曲,只是为了说明一下抢占先机的重要性,顺便帮自己的失败找一个小借口,接下来要说具体的攻击要怎么做了

入侵任何一台主机的方法都是一样的,就是找到所有可能接触到内部的途径

  1. 端口
  2. 社会工程学

当然在比赛中当然就是从端口入手,首先就是Nmap扫描端口,不同的厂商有不同的导向,比如我们之前参加的蓝盾的比赛就是从各个端口都有可能进行攻击,后来参加的深信服的比赛就是只能从Web进行攻击

######

我们先来从各个端口来进行攻击吧

以下端口常被用来作为攻击向量

21 ftp

蓝盾的那场比赛我就用FTP的一个漏洞攻击了全场几乎所有的主机,这个端口一般设置为漏洞都是采用了之前已经确定为不安全的版本的软件,比如Proftpd v1.3.3,vsftpd v2.3.4都是存在RCE漏洞的,或者允许匿名登录,之后可以读取文件。

22 ssh

其实22端口很少设置为攻击向量,只不过大家都喜欢把它作为攻击的目标罢了,一般关于SSH的攻击也就是爆破弱口令,一般很少取得成效

23 telnet

这个端口和FTP的21基本差不多都是一些有漏洞的版本导致RCE漏洞

80 http

这个就是我们经常提起的web渗透了,一般都会放置一个比较知名的CMS,一般网上都会有现成的EXP

3306 mysql

mysql的攻击一般也就是弱口令,爆破后可能会有权限直接读取flag.txt

5901 VNC

这个端口和ftp也是类似的

对于以上的这些,msf+nmap用来作为攻击工具再适合不过了!!

########

只从web进行攻击

有些厂商是只允许从web进行攻击的,就是说多余的服务都是不开启的,对于这种攻击方式可能更加像真实的网络,毕竟现在基本上有安全意识的就是只开放80和443端口

遗憾的是这种攻击都是使用了已经被爆出漏洞的CMS的旧版本,导致直接EXP就可以拿下了,之后直接做持久化控制就好了,这样一来比赛也就没有什么意义了,因为变成了我们不是在比谁的web能力强,而是变成了谁的exp更多,谁更快,这就又说到了之前的抢占先机。

我对于这种的建议就是要么使用简单的脚本,足够比赛之中代码审计的,要么就使用一个没有被爆出漏洞的CMS,这样比赛才有意义!!

6

持久化控制

对于持久化控制,每个人都有不同的方案!

如果是各个端口攻击的,用msf就可以了

主要说一下对于只有Web的,那就是后门与后门之间做斗争了,在这个方面可是展现实力的时候!

数字越大越NB

1.在根目录下放置一个php一句话

2.在一个隐蔽的目录下放置一个php一句话

3.在在一个隐蔽的目录下放置一个php一句话,并且把文件名改为了以 . 开头的

4.使用文件包含的php木马

5.将生成的木马文件时间属性(MAC时间)修改的

6.在index.php中直接写php的恶意代码的

7.用脚本把木马写到每一个文件中的

........

(骚操作....)

n.无文件攻击(msf),迁移到默认进程中(因为靶机是不能关机的),不断反弹shell

7

骚操作

骚操作一般都是大佬选手的耍无赖行为。。。

这次比赛也是让我学到了一些骚操作,特意与大家分享

  1. 史诗庇护所 所谓的史诗庇护所是引用斯诺登电影中的说法 他当年开发的一个能够在主机遭遇灾难时候能够把数据同步到远程主机的一个项目,没想到这种想法被用到了线下CTF中。 有一个队伍先把所有的web源码都Dump下来,之后自己写了一个小脚本,能够一直同步文件,也就是说一旦被种了木马,立马就把原来的文件替换上去,进行了一次还原。这种想法还是挺给力的,对于RCE这类漏洞可能没有什么用,不过对于Web这种环境太适合了。
  2. 不间断写木马 控制一台主机后,除了获取flag,最重要的就是要进行持久化,上面我也介绍了一些持久化的小思路了,下面就来说一个持久化的骚操作。 我们的主机就被种了这种,首先创建一个php文件或者python文件,之后放到一个隐蔽的位置,之后就是执行,一旦执行起来,想要去结束噩梦就很难了,因为这个脚本会像一个目录下不断的写一句话木马,一旦被删掉,下一秒就会重新建立,有些人写的更可恶,向很多目录都写持续写木马,这种其实是违背web渗透测试的,因为我们都想避免被发现,而不是让管理员删不掉,因为企业可以使用各种检测方法,这种情况还是很好被解决的。
  3. 胡乱重定向 这种方法也是违背web渗透测试的,主要思路就是把所有的请求都重定向到一个静态文件,意义不大,不过效果很好,很多人就是通过这种方式保住了不少分。
  4. 直接删站

不想做任何评价

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-29,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 NOP Team 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
网站渗透测试
网站渗透测试(Website Penetration Test,WPT)是完全模拟黑客可能使用的攻击技术和漏洞发现技术,对目标系统的安全做深入的探测,发现系统最脆弱的环节。渗透测试和黑客入侵最大区别在于渗透测试是经过客户授权,采用可控制、非破坏性质的方法和手段发现目标和网络设备中存在弱点,帮助管理者知道自己网络所面临的问题,同时提供安全加固意见帮助客户提升系统的安全性。腾讯云网站渗透测试由腾讯安全实验室安全专家进行,我们提供黑盒、白盒、灰盒多种测试方案,更全面更深入的发现客户的潜在风险。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档