第5天:复现步骤&资产架构&自行搭建

AffettoIris 2023-10-29 2,818 10/29

资产架构

我们将谈论以下几种情况下的安全问题。标题叫“资产架构”,寓意是,服务器上所有的应用、站点、插件、使用到的协议等都是它的资产。

WEB单个源码指向的安全问题

单个WEB源码说的是我通常所搭建的网站,往往一个网站对应一个目录、一个程序,例如sqlxy.pro对应学习程序:

第5天:复现步骤&资产架构&自行搭建

WEB多个目录源码的安全问题

这种网站又称目录型站点。例如我自己用wordpress程序搭建了个博客www.ink0.cn和一个论坛www.luntan.com,其根目录独立,这两个属于WEB单个源码。但是我若把一个网站根目录放入另一个网站根目录下,例如论坛网站放在ink0.cn根目录/luntan下,论坛网址变为www.ink0.cn/luntan一个网站目录包含多个网站目录曰WEB多个目录源码。实际点例子如中国民航大学官网https://www.cauc.edu.cn/zhv4/,它又囊括了多个系统(假设例子中的子系统的目录放在了官网根目录下),例如学工系统网址为https://www.cauc.edu.cn/zhv4/xgxt

第5天:复现步骤&资产架构&自行搭建

我们目标是www.ink0.cn,看似一个,实则两个。但凡有一个网站有漏洞都是机会,可能可以借机渗透到其他网站。两个网站甚至可能开发时间、开发人员、脚本语言大不相同。

WEB多个端口源码的安全问题

上面的例子是网站根目录有包含关系,还有可能是以端口区分多个网站实则同一个域名的网站如www.ink0.cn是博客系统,www.ink0.cn:520是旅游相册系统。

根据我配置IP解析的经验,还没有简便的一键式操作让ink0.cn解析到1.1.1.1的同时,让ink0.cn:520解析到另一个服务器2.2.2.2,只能让ink0.cn:520解析到1.1.1.1:520,除非配置很复杂的端口转发(其实但凡成功一次后也不复杂,5分钟的事),也就是说,这两个网站极可能还是寄存于同一个服务器。

关于配置很复杂的端口转发:

使用端口转发:你可以使用服务器或负载均衡器的端口转发功能来实现这个需求。将ink0.cn和ink0.cn:520都解析到1.1.1.1,然后在1.1.1.1的服务器或负载均衡器上进行端口转发,将520端口转发到2.2.2.2。

这里的端口转发,怎么做?

下面是两种常见的方法:

  1. 使用Nginx进行端口转发:

    • 安装并配置Nginx服务器。

    • 在Nginx的配置文件中添加一个新的server块,监听520端口,并将请求转发到2.2.2.2服务器。示例配置如下:

      server {
          listen 520;
          server_name ink0.cn;
          location / {
              proxy_pass http://2.2.2.2;
          }
      }
    • 保存配置文件并重新启动Nginx服务。

  2. 使用iptables进行端口转发:

    • 在1.1.1.1服务器上运行以下命令,开启端口转发功能:

      sudo sysctl -w net.ipv4.ip_forward=1
    • 添加iptables规则,将520端口的请求转发到2.2.2.2服务器:

      sudo iptables -t nat -A PREROUTING -p tcp --dport 520 -j DNAT --to-destination 2.2.2.2:520
      sudo iptables -t nat -A POSTROUTING -p tcp -d 2.2.2.2 --dport 520 -j MASQUERADE
    • 保存iptables规则并重启iptables服务。

在进行任何配置之前,请备份服务器配置,并确保你对网络和安全设置有一定的了解,以免影响你的网站和服务器的正常运行。

但是域名的CNAME记录类型可以让a.ink0.cn解析到1.1.1.1,让b.ink0.cn解析到2.2.2.2。

但是有种技术即域名解析的SRV记录类型,能让域名指向服务器的任意某个端口。

场景:只要自己开过java版的服务器的腐竹们都知道默认端口是25565端口。但是我相信绝大多数的腐竹们都还是租赁的面板服,随机端口的。给你的端口绝对不是25565端口的~ so 我们又不想域名:端口即ink0.cn:520这样既难看又容易输入错误,于是srv解析方式就出现啦~ 它能够让你的域名例如新申请一个a.com直接绑定到服务端指定的端口如1.1.1.1:520,然后你的玩家们就不用输入端口,输入a.com就能够访问1.1.1.1:520进入服务器了~

配置过程:(没太研究懂)

第5天:复现步骤&资产架构&自行搭建

主机记录:格式为服务的名字.协议的类型,例如:sip.tcp

记录值格式:优先级 权重 端口号 目标地址,例如:3 0 2176 example-server.2.google.com

服务器架设多个站点的安全问题

例如学习系统a.afetoiris.top解析到62.234.14.252,考勤系统b.afetoiris.top解析到62.234.14.252

第5天:复现步骤&资产架构&自行搭建第5天:复现步骤&资产架构&自行搭建 第5天:复现步骤&资产架构&自行搭建

访问以测试效果:

第5天:复现步骤&资产架构&自行搭建第5天:复现步骤&资产架构&自行搭建

这就是一个服务器架设了多个站点。假设甲方给我目标a.afetoiris.top,我渗透不了,但我发现a.afetoiris.top解析到服务器62.234.14.252,该服务器还部署了站点b.afetoiris.top乃至站点www.ink0.cn。我就有了更多的选择、更多的可能和机会。

架设第三方插件接口的安全问题

以wordpress为例,很多站长为了方便运维,会安装插件,比较一键式粘贴图片的The Paste插件,生成短链接的Pretty Links插件,本文讨论插件有安全问题的可能。例如WordPress插件File-Manager任意文件上传漏洞复现,该博客说:WordPress插件WPFileManager中存在一个严重的0day安全漏洞,攻击者可以在安装了File Manager 6.0-6.8插件的任何WordPress网站上任意上传文件并远程执行代码。

那岂不是说,以渗透wordpress博客站点为例,百度搜下wordpress常用插件/安装量最高的插件,再去搜这些插件的漏洞,一个个试试,也许是一种可行的方式。没有目标?:例如fofa搜"phpmyadmin" && title=="phpMyAdmin" && country="CN"

上面的插件是程序/应用如wordpress的第三方插件,还有种插件叫WEB应用插件如phpmyadmin,站长为了方便自己运维可能安装各类WEB应用插件如phpmyadmin,但也给攻击者带来了可趁之机。老师在fofa搜"ph第5天:复现步骤&资产架构&自行搭建pmyadmin" && title=="phpMyAdmin" && country="CN"找到了教学用的示例站点:

有两种可能,一种是和上面一样,插件自身有漏洞导致渗透。也可能是这样的情况:我,黑客,拿到了他的数据库卡密,但是他设置了只允许服务器上的数据库账号在服务器本地登录。于是我无法用DataGrip连接数据库。但是我发现他安装了phpmyadmin。phpmyadmin安装在服务器本地,通过phpmyadmin访问数据库相当于在服务器本地连接数据库,即我用phpmyadmin输入卡密即可连接数据库。

服务器架设多个应用的安全问题

站长为了方便运维,可能会安装应用如filezilla(可能有点区分不清插件和应用了,管他呢,老师本身讲不清楚,不要在意细节)。

第5天:复现步骤&资产架构&自行搭建

以filezilla为例,它方便了站长运维,也给了攻击者更多的选择和机会,比如攻击者通过某手段使用filezilla上传后门文件。

讲到现在,讲这么多,老师想表明,渗透网站的信息搜集这一步,我们的眼光不只有肉眼可见的网站,还有看不见的该服务器安装的插件、应用、其他站点等一切可能的突破口,多去想想服务器有没有其他网站,端口上有没有开服务,用了哪些应用(如filezilla)开了哪些协议(如ftp)

番外安全

之所以称为番外,是因为我们确实不在关注目标ink0.cn网站,心思在域名、撞库...上

基于域名解析的安全

站长有购买域名和服务器的平台。可能是在阿里云买的域名又在腾讯云买的服务器,也可能是在阿里云买的域名和服务器。我们很容易由域名得知注册商、站长姓名、站长的邮箱(那个爱站网直接把邮箱全显示出来了)、域名所绑服务器的服务提供商等信息。以我为例,得知我的邮箱,服务器是腾讯云的。

第5天:复现步骤&资产架构&自行搭建第5天:复现步骤&资产架构&自行搭建

黑客可以登录腾讯云,猜测账号是这个(又或者by其他途径得知我的电话,猜测账号是电话号码),密码可以从泄露在社会工程学数据库里by撞库的方式亦或者弱口令爆破。

第5天:复现步骤&资产架构&自行搭建

如果卡密都对上了,好像还有层安全验证。。。假设让黑客登上了,黑客就可以修改我的域名解析,让域名解析到他的恶意网站(域名劫持的一种方式)。

基于服务器本身的安全

我们站长by宝塔、Xshell等方式操作服务器,我们要用卡密登录,如果攻击者获取了这些卡密,他也可以by宝塔、Xshell等方式操作服务器。

基于服务商信息的安全

就是上面说的,恰好黑客猜对腾讯云卡密并登上站长的账号,他就可以操作站长账号的所有资源,不限于域名、服务器、证书。

基于管理个人的安全

偏向社会工程学了,针对人的攻击,不攻击网站不攻击服务器,我就搞你人。比如目标xiaodi8.com,我一查,了解到是一个叫小迪的人,我信息搜集找到了他的QQ,然后知道了他正在做培训,于是我报了他的课,给他发了个钓鱼网址,说:“老师,这题怎么做?”,小迪信了,点击链接。然后我黑入了他的浏览器,浏览器常存储卡密(记住密码功能),我拿到了这些卡密。又比如被骗钱了,开个小号加骗子,伪装成小白菜假装想被骗钱,在和骗子交流过程中,发了钓鱼网址...

实例

大连医科大学 - WEB多个端口源码的安全问题

目标:大连医科大学官网https://imap.dmu.edu.cn/,发现其下有个子站点https://imap.dmu.edu.cn:8080/gw/user/

第5天:复现步骤&资产架构&自行搭建

第5天:复现步骤&资产架构&自行搭建

很明显,两套程序,这属于WEB多个端口源码的安全问题,注意到一个是dmuemail,一个是eYou。前者没搜到漏洞,后者搜到了。任何一个漏洞都会牵一发而动全身。

第5天:复现步骤&资产架构&自行搭建 第5天:复现步骤&资产架构&自行搭建

企联保 - 架设第三方插件接口的安全问题

目标:企联保官网

第5天:复现步骤&资产架构&自行搭建

看起来纯前端或者前端居多,但是我们扫描发现其8081端口,安装了phpadmin插件,我们可以尝试弱口令爆破:

第5天:复现步骤&资产架构&自行搭建

一个小站点 - 服务器架设多个应用的安全问题

再比如一个国外的小站点,打开一看

第5天:复现步骤&资产架构&自行搭建

站长好像都没配置好,看起来功能不多不复杂,漏洞少。我们扫描发现服务器开通了ftp服务:

第5天:复现步骤&资产架构&自行搭建

或许还是迷茫,但起码线索不是白板了。

考虑阻碍

挖洞不易,我们可能会遇到下列常见的阻碍。有绕过的方法,但不是100%适用,这就是信息安全的意义。

站库分离

即网站和数据库分离。以wordpress为例

第5天:复现步骤&资产架构&自行搭建

我们其实可以设置数据库存储在其他服务器,这样网站服务器被黑了但数据仍是安全的。对黑客而言是不利的,拿下了网站服务器却看不了数据,或拿下了数据库却看不到网站程序源码。

CDN加速服务

CDN提升了各地用户访问网站的速度,但它是不利于渗透测试的。如果我们渗透域名,没找到真实IP,而是渗透cdn的ip,即使黑入了cdn服务器,也没价值呀,cdn服务器就是从正主那儿提前缓存数据和文件,黑正主才有用呀。

负载均衡服务

负载均衡服务简介

在互联网发展呢的今天,我们一般会把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个的,比如 http://www.baidu.com 那么当用户在浏览器输入 http://www.baidu.com 的时候如何将用户的请求分发到集群中不同的机器上呢,这就是负载均衡在做的事情。我们访问的是哪个服务器我们并不知道,我们只管访问www.baidu.com,后面的事都会有负载均衡服务器帮我们实现,客户端只管访问这一中介服务器(中介服务器的地址是确定的),再由中介服务器将请求代理到真正部署有实例的服务器上去即可。

第5天:复现步骤&资产架构&自行搭建

好处是:1.像京东淘宝这种大网站每天都承受大量的攻击和访问,如果只有一台服务器提供服务那肯定会累坏的;2.即使没有被攻击或大量的访问,软硬件依然有自然损坏的可能,会导致那台服务器不能提供服务,如果是计算机集群提供相同的服务,A服务器损坏了让B、C...顶班。

老师说,提供负载均衡的计算机集群,可能是一台主机+许多备用机,实际情况可能更复杂 / 乱。

宝塔提供少量的第三方的负载均衡软件:

第5天:复现步骤&资产架构&自行搭建

第5天:复现步骤&资产架构&自行搭建

负载均衡对渗透测试的影响在于,看上面负载均衡图解,假使我们锁定了某域名的真实、非CDN的服务器IP为10.0.0.2,但是我们渗透前不确定它是不是备用机,如果是备用机,等我们拿到了10.0.0.2的权限,发现我们还是干不了我想干的"大事",哦,玛德,是个备用机,得渗透主机才行。

负载均衡服务器和CDN服务器要说区别嘛,CDN是侧重全球各地分布,以让每个地区的用户都能有最快的访问响应速度;负载均衡服务器集群可能甚至是一个机房里的几台机子。

WAF | 网站应用防火墙

WAF全称叫Web Application Firewall,如其名,和传统防火墙的区别是,针对网站的,工作在应用层的防火墙。

第5天:复现步骤&资产架构&自行搭建

作用如在上图可见一斑,防攻击的,比如止sql注入/xss/一句话木马。

主机防护防火墙

杀毒软件算是主机防护防火墙的一种,杀毒软件特点是会检测文件是否有病毒,例如删除我们上传的后门、病毒。

再比如安全狗(最近官网502状态码崩了,不知道怎么回事)

第5天:复现步骤&资产架构&自行搭建

看服务,安全狗的免费产品提供了网站安全狗和服务器安全狗。

前者:拦截各类注入、跨站、漏洞、应用风险,具体包括拦藏SQL注入、XSS跨站、struts.2漏洞、建站程序漏洞、Oday漏洞、短文件名洞、IIS目录漏洞、主动拦截网马上传、带马页面浏刘览、恶意代码调用组件;也能查杀各类网马、挂马、黑链与畸形文件,清除后门隐患。

后者:查杀网页木马、主流病毒;防病毒、防入侵、防攻击、防篡改。可见服务器安全狗不会直接拦截对网站攻击(也就是网站安全狗的活),但如果黑客入侵成功,拿到权限,想进行下一步shellcode等操作提权或做些其他事情比如篡改文件,此时服务器安全狗会出手。

扩展

IIS目前只适用于Windows系统,不适用于其他操作系统。

Nginx入门之反向代理

先说正向代理是什么。其实我们平时是接触到了很多正向代理的,正向代理就是我们在没有权限访问某些服务器或者速率很慢时,通过代理服务器代表我们去访问,而代理服务器常常是有能力、有权限达到目的的。你猜对了,就是VPN。我们在校外、公司外,是访问不到学校、公司的内网的,但是我们想要访问内网资源时,会用到VPN。

反向代理则对客户无感知的。负载均衡中的负载均衡服务器就用到了反向代理。使用一台代理服务器(下图中的深色服务器)对底层的应用服务器(下图中的浅色服务器)进行代理。将他们的地址信息对客户端屏蔽,客户端只需要访问代理服务器即可,代理服务器会将请求转发给底层的真正起作用的应用服务器。但在客户端眼里,服务器只有唯一的一台,就是代理服务器(负载均衡服务器)。

第5天:复现步骤&资产架构&自行搭建

反向代理的目的:

  1. 负载均衡:反向代理可以将请求分发到多个后端服务器,以平衡服务器的负载,提高系统的性能和可靠性。

  2. 高可用性和故障转移:反向代理可以监测后端服务器的健康状况,并自动将请求转发到可用的服务器,以实现故障转移和高可用性。

  3. 缓存和加速:反向代理可以缓存静态资源,减少对后端服务器的请求,提高响应速度和效率。

  4. 安全性:反向代理可以作为安全层,隐藏后端服务器的真实 IP 地址,提供额外的安全保护。

反向代理和负载均衡怎么听起来像是同一个东西?

这是两个相关但不完全相同的概念。

反向代理是一种代理服务器的配置方式,它接收客户端的请求,并将请求转发到后端的目标服务器上。客户端与反向代理服务器进行通信,而不直接与目标服务器通信。反向代理可以实现负载均衡、缓存、安全性等功能。

负载均衡是一种技术和策略,用于将请求分发到多个服务器上,以平衡服务器的负载和提高系统的性能和可靠性。负载均衡可以通过多种方式实现,包括使用反向代理、DNS 负载均衡、硬件负载均衡等。反向代理是一种常见的负载均衡方法之一

云waf和普通waf有什么区别?

云WAF比普通WAF先进。安全狗就是普通WAF。

普通WAF需要独立的硬件设备或服务器以部署在本地服务器或数据中心内部来运行,并需要人手动配置、管理和更新。

云 WAF 是一种基于云计算的服务,由云服务提供商提供,用户只需进行简单的配置即可使用。它将 WAF 的功能作为一项云服务,无需用户自行购买和维护硬件设备或软件应用。云 WAF 通过将用户的网络流量重定向到云服务提供商的服务器上进行检测和过滤,保护用户的 Web 应用程序免受攻击。服务商会在“云端”替你配置、管理和更新WAF。

优缺点对比:

  • 云WAF唯一缺点就是钱了。

  • 部署、管理和配置上云WAF简单。

  • 弹性和可扩展性:云 WAF 可以根据需求进行弹性扩展,适应流量变化,而普通 WAF 的扩展性受限于硬件设备或服务器的能力。

  • 全球分布:云 WAF 可以在全球多个地理位置提供服务,通过分布式的网络节点来处理流量,以减少延迟和提高性能。

  • 安全性和更新:云 WAF 由云服务提供商负责安全性和更新,及时应对新的威胁和漏洞。普通 WAF 需要用户自行更新和维护。

  • 普通WAF一般基于规则库识别危险、病毒,而云WAF一般基于机器语言(没看懂,机器学习吗?),云WAF更智能,能力更强。

- THE END -

AffettoIris

11月01日23:51

最后修改:2023年11月1日
1

共有 0 条评论