安全矩阵

 找回密码
 立即注册
搜索
查看: 2572|回复: 0

红队打点流程小结

[复制链接]

855

主题

862

帖子

2940

积分

金牌会员

Rank: 6Rank: 6

积分
2940
发表于 2021-8-12 09:27:38 | 显示全部楼层 |阅读模式
原文链接:红队打点流程小结

本次行动时间较为仓促,基本未涉及到内网渗透方面,且内网渗透由于不同行业的业务不同,网络拓扑架构也势必不同,较难进行概括分析。因此本报告只针对外部打点方面谈一谈心得感受。
信息搜集一般拿到手的初始信息只有目标的名称,此外的一切相关信息都需要我们自己去互联网上搜集,因此信息搜集的效率和准确率是至关重要的。
在拿到目标的名称之后,可以据此去搜寻目标企业的相关信息,我们比较感兴趣的是目标有哪些系统开放在互联网上,申请了哪些域名,网络管理员及域名管理员的联系方式,有哪些子公司及分公司,子公司及分公司又有哪些系统开放在互联网上……
天眼查是一个很好的工具,基本上获取企业的一个基本信息是足够的。

可以重点关注知识产权这一栏目,其下有一个网站备案条目信息:


据此我们可以对目标企业的网站有一些初步了解,之后还可以交叉使用子域名查询工具,网络空间搜索引擎,whois工具等扩大成果。并且熟练利用dns解析工具,ip反查域名等工具使信息更准确。
网络空间搜索引擎推荐fofa和钟馗之眼:


网络空间搜索引擎上也会附带端口信息,不过有些不太准确,最好自己拿nmap再扫一波。建议是nmap批量扫一波,-oA输出一个文档,再写个python脚本之类的转化成excel,会比较方便查看。Python脚本参考如下:

之后要做的是web指纹的识别,这个推荐云悉平台。

不过云悉的注册需要邀请码,没有渠道获取邀请码可以试试下面这个网站:潮汐指纹识别。

网站的信息搜集至此就差不多了,主要是对目标的资产做初步的建模,获知到目标的ip信息,对外开放的端口信息,运行哪些服务,有哪些组件。此外还可以采集如微信公众号信息、github信息、微信小程序信息、app信息或是googlehack搜寻各种信息等等。这些信息采集的越准确越方便做之后的工作。
爆破弱口令的出现频率还是很多的,一份精准的字典再加上一个支持多协议的爆破工具,往往有很多预料之外的收获。
拿到一个网站后可以使用爆破工具对网站的目录做一个探测,开始之前可以手工先试一下robots.txt、/admin、/manage、/administrator这些比较常见的目录,后台管理界面基本上就在这里面。此外知名的web目录文件扫描工具也有很多,例如御剑、DirBuster、Dirsearch等等,国内的我感觉御剑就比较好用了,高级一点的可以用dirmap,参考链接:https://github.com/H4ckForJob/dirmap 值得一提的是,因为木马文件命名都是有些规律的,比如cmd.php、muma.jsp、shell.asp等,因此也可以准备一份常见木马名称及密码字典,因为一个站如果看起来漏洞很多的话,那么有很大概率已经被黑客拿下了,因此扫一扫说不准就会发现惊喜。

没有验证码的Web登录后台的爆破用burp就好了。在爆破之前可以先手动试一下,特别注意有些后台当输入的用户名不存在是会提示用户名不存在的,管理员的用户名基本上都是admin、system、administrator这种,可以先试出来用户名是什么,再去单独爆破密码,会节省很多时间。
此外还有一些网站的用户名是指定的且有规律可循,比如用户名是一个id编号,这时候就可以遍历所有id号,加上常见的弱口令字典。这种情况一般都会有所收获,因为总有人的安全意识是比较薄弱的,会采用一些较弱的口令。或者可以准备一份常见人名字典,因为总是有很多重名的情况,可能每个公司都有叫张伟、李华的员工,如果后台的用户名就是人名的话可以试试。

除了web后台也有很多服务是可以进行弱口令爆破的,比如mysql、ftp、mongodb、rdp、oracle、ssh、redis、memcached、smtp、pop3、sqlserver等等。这里介绍一个hydra工具,hydra 是一个支持众多协议的爆破工具,已经集成到KaliLinux中,直接在终端打开即可。

下面是hydra一些常见的命令:

以上我们可以发现,爆破的原理其实很简单,爆破的关键也不在于工具,工具会让过程简单一点,但最后的成功是取决于字典的优劣的。关于字典的获取在这里分享一个方法,那就是草船借箭。
首先需要租一个公网服务器,然后去找一个中意的蜜罐系统部署在上面,蜜罐系统需要能抓到密码的那种,能开的端口尽量都开。过一段时间就会发现有源源不断的人来试图通过弱口令hack你,我们就可以把他们用到的用户名密码收入囊中,积累一段时间就会得到一份可用的字典了。

实施渗透这一步就要具体对目标网站进行测试,挖掘目标站点的漏洞了。与常规渗透测试的不同之处在于,红队的着眼点不是漏洞而是权限,拿到权限意味着能做进一步的渗透。因此我们关注的漏洞应该都是为了我们拿shell服务的。
首先应该关注组件框架版本,cms类型,oa类型这一类信息,看是否有可利用的漏洞能直接getshell,如下面这些:
l Joomla 3.7.0 (CVE-2017-8917) SQL注入漏洞
l Joomla 3.4.5 反序列化漏洞(CVE-2015-8562)
l WebSphere反序列化漏洞CVE-2020-4450
l IIS6.0PUT漏洞
l Tomcat 7.0.0 – 7.0.81远程代码执行
l FastCGI未授权访问、任意命令执行
l Thinkphp远程命令执行
l 致远oa任意文件上传、命令执行
l 泛微oa任意文件上传、sql注入
l 金蝶erp远程命令执行
l Jboss反序列化
l Weblogic反序列化
l 禅道erp命令执行、文件上传
l FastCGI未授权访问、任意命令执行
l PHPCGI远程代码执行
l Confluence远程代码执行(CVE-2019-3396)
l Ruby On Rails任意文件读取(CVE-2019-5418)
l Jenkins远程代码执行(CVE-2019-1003030)
l ColdFusion远程代码执行(CVE-2019-7091)
l Spring Boot Actuator远程代码执行
l Drupal8 REST Module远程代码执行(CVE-2019-6340)
l Jenkins远程代码执行(CVE-2019-1003000)
l Apache Solr远程代码执行(CVE-2019-17558)
当以上这些都没有突破的时候,我们可以对目标系统做黑盒测试,当然手工测试之前也可以用自动化工具先跑一遍,例如nessus,不过为了防止ip被封最好搞个ip池做分布式的扫描。拿shell的一些思路大致总结如下图:

我们应该重点关注注入、文件上传、命令执行等漏洞,当然如果某个站很重要可以细致测试每个功能点,有时候单一的漏洞不能拿shell但是几个漏洞组合起来就有奇效,比如文件上传只能上传图片马没办法执行,这时候如果又发现一个本地文件包含漏洞就可以直接getshell了。此外还应该重点关注邮箱系统和vpn,搜索是否有账号密码等信息泄露。前者一旦被登入可以获取大量信息和实施钓鱼,后者可以直达内网。
拿到shell之后应该尽快多建立几个隐蔽的后门,防止被系统管理员发现。Linux机器的话可以在不同目录下建立几个以.开头的文件夹,多放几个木马并做好记录。如果22端口开放的话可以添加自己的公钥进去。可以写入定时任务定时反弹shell到自己的服务器上。Window机器也可以新建用户并隐藏,多放几个木马,在注册表里添加相应键值建立组策略后门,开启telnet服务并修改telnet端口等。
之后要做的是挂代理实现流量转发,探测目标内网,一点点地扩大战果,直到拿到目标的核心系统权限,获取核心数据。
社工这部分其实并没有用到,但是据我观察如果应用的好确实颇有奇效,甚至可以直捣黄龙,因此有必要学习一下他人的经验与技巧。
稍微研究了下钓鱼邮件和badusb两种社工手段,一个线上一个线下,下面总结一下两者涉及到的技术和技巧。
​​
钓鱼邮件
钓鱼邮件就是黑客伪造一封看似合法的邮件发给目标受害者,诱导目标受害者点击邮件中的链接或是在附件中的病毒木马,从而达成黑客的非法目的。一般来说黑客的目的有两种,一是窃取目标的账号密码,二是拿下目标的个人主机。前者往往需要钓鱼邮件配合钓鱼网站一起,诱骗目标在假的网站里输入自己的真实用户名密码。
关于钓鱼网站的制作已经有很多成熟的工具可以辅助我们了,我在这里介绍两个,一个是set,一个是httrack。
先来看set,我将伪造的站点如下图:

首先打开kali虚拟机进入set:

选择1,社会工程学攻击:

之后选择2,网页攻击:

之后选择3,钓鱼网站攻击:

之后选2:

之后将链接复制上去:

之后我们访问虚拟机ip:

可以看到足以以假乱真,我们输入账号admin密码1111看一看:

可以看到Kali虚拟机这边抓到了密码。
Httrack是一个网站克隆爬取工具,功能上相对要更强一些,kali里也集成了这一工具:

进入输入项目名称和存放路径,再输入url:

之后根据选择调整参数,完成了之后我们去目标路径看一下:

点击index.html就是目标的页面,我们就可以据此添加恶意代码,打造一个钓鱼网站出来。

钓鱼网站做完了之后,更重要的还是话术。话说得好不仅能打消目标的疑虑,甚至能让目标迫不及待的点击链接上钩。常见的话术有:
  •         伪装成蓝方人员,利用前期的一些突破点作为鱼饵,要求目标立即点击我们提供的链接下载打完补丁的软件,一定要危言耸听营造紧迫的感觉。
  •         公司福利活动,点击登录领取。
  •         密码到期,要求立即整改。

如果是为了获取目标主机权限,一般都会发送一个附件为病毒木马文件的钓鱼邮件,并诱使目标点击下载并运行。这里要过的第一关是如何免杀,如果文件的特征过于明显被识别出来,那么下载落地后目标主机上的杀软肯定会显示警告信息,目标也会提高警惕从而导致钓鱼失败。第二关就是在杀软没报警的情况下如何让目标点击运行木马程序,一般来说发一个exe文件再让目标点击运行的成功概率是很低的,因此往往要将木马程序隐藏在图片或文档里。
诱导目标点击运行附件也有对应的话术可以采用,比如商讨合作,技术交流等。其中最经典和有效的方法我感觉是给hr发简历。因为hr一般来说不涉及技术,安全意识相对肯定比较薄弱,甚至如果目标公司宣传的不到位,hr可能根本就不知道有护网这回事。收简历又是hr的日常工作,而且简历具有分发属性,很有可能还有意外收获。
一般来说简历都是pdf、word、excel这种文件,因此黑客需要将恶意代码藏入其中才好取信hr。可以利用office漏洞,比如CVE-2017-11882、CVE-2018-0802以及比较少见的CVE-2018-0798。也可以利用宏、DDE、内嵌OLE对象等。
在这里介绍一种利用快捷方式伪造恶意文件的方法,我们随便建立一个快捷方式,查看文件属性:

将目标设置为:%SystemRoot%system32cmd.exe cmd /c calc.exe`,就会执行命令打开计算器:`
但是图标就变成了这样:

因此去网上下载一个pdf的ico文件,并替换图标,再把名称改掉,这样就看起来挺像样了:

除了还有快捷方式的箭头,整体上已经像是一个pdf文件了,如果安全意识比较薄弱的人很容易手快双击点开,如果执行的不是打开计算器的命令而是木马上线的命令,目标主机就会被黑客控制了。最后如下图:

Badusb
Badusb并不是u盘里带病毒,甚至根本不能算是u盘,它是利用伪造HID设备执行攻击载荷的一种攻击方式。HID设备通常指的就是键盘鼠标等与人交互的设备,用户插入BadUSB,就会自动执行预置在固件中的恶意代码。因为主机是通过设备固件中的某些描述符来判断USB哪种设备的。这就意味着我们可以利用此漏洞将一些特殊的USB设备伪装成为其他任何设备,例如输入设备、网卡等等。而且恶意代码存在于U盘的固件中,PC上的杀毒软件无法访问到U盘存放固件的区域,因此也就意味着杀毒软件和U盘格式化都无法防御BadUSB的攻击。在著名的美剧《黑客军团》中就出现了在停车场扔BadUSB来进行钓鱼的场景。

普通U盘一般都是由闪存(FLASH)和主控(MCU)构成,主控主要负责控制数据读写任务分配,闪存的话一般有一部分用来存放u盘固件(无法直接读取),其它部分用来进行读写和存储。BadUsb就是利用对u盘固件进行重新编程,将虚拟键盘输入转为协议约定的字节指令集成进固件中,让主机将usb识别为一块键盘,并执行事先编写好的虚拟键盘输入。
制作方法是首先去淘宝搜索badusb,会发现有很多售卖:

之后安装arduinoide

之后写入代码:

之后选好开发板(上图的ArduinoLeonardo)和端口,编程器选择USBasp,编译上传即可:

这样就制作完成了,插入目标主机就可以执行我们写好的操作。当然实际中想让目标上钩还需要配合伪装,可以在u盘上贴上“机密”等文字的贴纸等,诱导目标插入个人主机查看。
总结与反思渗透的本质是信息搜集,期间采用的所有的工具和技术都是在为不断迭代的信息搜集做努力。
平时应该多积累各类漏洞,多在实践中总结经验,建立自己的专属武器库,不然什么都要现查现找很浪费时间。
要有耐心,要冷静。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|安全矩阵

GMT+8, 2024-11-29 13:43 , Processed in 0.015136 second(s), 18 queries .

Powered by Discuz! X4.0

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表