首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    互联网创业公司如何防御 DDoS 攻击?

    14 年年初,被迫沦为了一名站群站长,草根站长。在成本投入以及人力、技术均有限的情况下。近一年数个站遭遇无数次 syn 洪水攻击,网站瘫了不说,看着一个个网站流量从高处跌落谷底,然后一步走入没落,心碎之甚。近期也对此做了一些不全的总结。 ( ddos 科普省略一万字) 因为是创业+挣外快形式,租的机器都是淘宝每月百元左右(低于百元,加了 IP 后百元上下)的 VPS 、香港美国韩国均有,一般都是 双核 cpu、512M-1G 内存、2M 带宽、硬盘越大越好。 因为做站群,一台机器会视硬盘而定挂 2-3 个站,每台服务器正常的情况下每个月能走掉 500-700G 的流量。网站采用 centos + kangle + php + 文本DB,从优化程序性能上、生成什么 HTML 静态的技术讨论就免了,因为一旦机器被攻击,你性能做得再强,这样配置的机器基本上是秒死状态。关于洪水攻击的特征收集是比较重要的,HTTP 头,UserAgent,host 都是一些非常重要的信息。当被攻击时,第一反映就是去服务器管理面版里重启,然后利用机器重启存活那一瞬间,ssh 登录,粘贴!!!:tcpdump -XvvennSs 0 tcp[20:2]=0x4745 or tcp[20:2]=0x4854 找到 http 请求, 记下来 UA、Host、URL。(于是机器接着挂 T T)以下是我如何防御洪水攻击的几个方法:1、借用第三方力量+以其人之D还治其人之机在中国,你只要被攻击,最大的烦恼其实不是网站不能访问,而是提供服务的 IDC 动不动就要关你的 VPS。所以,一般得知被攻击,取到 Host 主机名以后,我会第一时间去 DNS 里去对对应的域名操作。幸运的是,(暂时)遇到的攻击者一般都只会攻击你的一个域名。例如:他攻击你的http://www.xxx.com,而你的xxx.com是可以正常访问的。关于操作域名,我有几个手段:

    01

    Windows Redis DLL劫持在实战中的利用

    举例: 例如,假设有一个应用程序叫做"example.exe",它依赖于名为"example.dll"的动态链接库。而"example.exe"在加载"example.dll"时没有使用绝对路径,而是仅仅指定了DLL的名称。攻击者可以将恶意的"example.dll"文件放置在与"example.exe"相同的目录下,当"example.exe"启动时,系统会先在当前目录中查找"example.dll"文件,如果找到,就会加载该文件并执行其中的恶意代码。 DLL劫持可以函数转发劫持也可以往完整DLL插入恶意代码,这里用的函数转发劫持,大致流程如下图所示: https://kiwings.github.io/2019/04/04/th-DLL%E5%8A%AB%E6%8C%81/ 2.2 劫持dbghelp.dll redis-server.exe在执行bgsave时,会先在应用‍目录查找dbghelp.dll,找不到再去system32目录下找: 而不管redis的权限是Administrator还是普通用户或者Network Service,它对自己的应用目录一定有写文件的权限,我们可以通过Redis的主从复制在应用目录里写入恶意DLL。 2.3 函数转发劫持 对DLL进行函数转发劫持需要导出原本DLL的函数和地址,以保证程序通过恶意DLL调用这些函数时不影响正常功能,DLL的导出函数一般比较多,用Aheadlib之类的工具可以自动化处理。 我这里用的是DLLHijacker,它会自动处理导出表并生成一个VS2019的项目,但这个python脚本有几个bug: https://github.com/kiwings/DLLHijacker (1) VS项目中文乱码: 修复:几个写文件的地方添加 encoding="utf-8"。 (2) 函数导出表有匿名函数的时候,会导致以下报错 [-]Error occur: 'NoneType' object has no attribute 'decode 修复:在几个for循环里添加函数名是否为空的判断可以解决这个问题。 (3) 生成C/C++代码时,没有使用目标DLL的绝对路径,只是用了DLL的名字填充LoadLibrary(),这是一个很严重的bug,会导致函数转发失败、Redis的功能受到影响从而只能劫持一次: 修复:我改成了根据输入的目标DLL路径自动填充。 如果没有使用原DLL的绝对路径,在Process Monitor可以看到,只会调用应用程序目录里的恶意DLL,并没有调用原本的system32下的dbghelp.dll: 从而redis的功能受到影响,导致redis的bgsave只能触发一次DLL调用,第二次bgsave的进程会被阻塞从而无法调用DLL,并且Redis关闭后将无法启动: 这也是网上部分师傅的文章写”不会影响redis运行 但会无法重启“的原因,因为他们也是用的DLLHijacker,并且没有发现有这个坑,这不仅会影响业务,而且只能劫持一次: 正常的DLL劫持不会影响程序的功能,可以劫持很多次,假如我第一次劫持想上线CS但是没有成功,那对面可能不出网,那我可能会再劫持打一个MSF的反向shell,都没成功我也可以继续尝试MSF盲打命令: 正常的DLL转发劫持如下,调用完应用程序目录里的恶意DLL后会调用原DLL: 0x03 漏洞利用 3.1 工具使用 工具下载地址: https://github.com/P4r4d1se/dll_hijack 如是是Windows 64位的Redis DLL劫持的话,可以直接用里面的VS2022版的dbghelp项目。 其他要用我修改后的DllHijacker.py和目标DLL路径生成VS项目: python3 DLLHijacker.py C:\Windows\System32\dbghelp.dll 下载安装VS2022,只用勾C++桌面开发: https://visualstudio.microsoft.com/zh-hans/downloads 打开生成目录里的sln文件,因为原本是VS2019的项目所以会提醒你升级,选确定,不然得另外安装v142的编译组件才能编译VS2019的项目: 打开后在源文件的dllmain.app,修改里面的shellocde就行,其他不用改: 3.2 出网——Cobalt Strike 如果Redis主机直接出网,或者能通其他已经上线CS的出网主机,那直接上CS是最好的选择,CS生成C语言的payload: 源文件的dllmain.app里把payload替换进去,然后选Release x64,生成——生成解决方案: 然后主从复制将dbghelp.dll写过去并bg

    01

    VPS、物理服务器、虚拟主机、云服务器的含义与区别

    很多初学者不知道vps,物理服务器,虚拟主机,云服务器的含义和区别,今天与大家一起说说它们之间的含义和区别: VPS: VPS(Virtual Private Server 虚拟专用服务器)技术,由于有很多的物理服务器其实使用率很低,平均cpu的使用率在20%以下。于是就将一台物理服务器分割成多个虚拟专享服务器的优质服务。实现VPS的技术分为容器技术和虚拟化技术。在容器或虚拟机中,每个VPS都可分配独立公网IP地址、独立操作系统、实现不同VPS间磁盘空间、内存、CPU资源、进程和系统配置的隔离,为用户和应用程序模拟出“独占”使用计算资源的体验。VPS可以像独立服务器一样,重装操作系统,安装程序,单独重启服务器。 简单的说,就是在物理服务器内通过虚拟化技术,在一套操作系统的技术上,虚拟出很多套的独立运行的操作系统出来,从用户角度来看,就像是有很多台服务器可以使用(其实是运行在同一套物理设备里面)。这一套套虚拟出来的独立的操作系统就是VPS。如果您还未找到一款合适的动态拨号vps,我可推荐青果云动态拨号vps,专业技术,自建机房,节点丰富,秒拨数百万ip,高可靠人性化设计,精心打造从节点到系统给您不一样的感觉,力助您的业务遍布全国的每一个角落。  物理服务器: 一台实实在在物理机,服务器性能和稳定性比普通PC强,但是价格昂贵,一般有钱的大佬才会使用独立的物理服务器(就是需要自己实实在在买一台设备放在那里)。性能强,但是无论用还是不用,机器和网络等成本都在那里。 虚拟主机: VPS主机可以像独立服务器一样分割出许多虚拟主机空间,每个空间都可以放许多网站,非常适合为中小企业、小型门户网站、个人工作室、SOHO一族提供网站空间,较大独享资源,安全可靠的隔离保证了用户对于资源的使用和数据的安全。 云服务器: 云服务器就是一些实际的硬件设备(很多个物理服务器),通过虚拟化技术,可以大规模统一调度,并当成“一台”机器的技术。你根本看不到它在哪里,看不到它的CPU、内存、硬盘,但是你可以轻松把它当成“一台”现实中的主机来操作,无论是配置软件、测试性能、还是上传文件都和传统服务器没什么区别。由是数量庞大的服务器阵列,在均衡负载之后诞生很多虚拟主机,无论是数据安全还是性能都有基本的保证。 可以说云服务器是一种类似VPS服务器的虚拟化技术,VPS是采用虚拟软件,VZ或VM在一台服务器上虚拟出多个类似独立服务器的部分,每个部分都可以做单独的操作系统,管理方法同服务器一样。 云服务器是在一组集群服务器上虚拟出多个类似独立服务器的部分,集群中每个服务器上都有云服务器的一个镜像,从而大大提高了虚拟服务器的安全稳定性,除非所有的集群内服务器全部出现问题,云服务器才会无法访问。

    00
    领券