端口扫描的CS木马样本的分析

news2024/11/23 11:43:04

序言

病毒、木马是黑客实施网络攻击的常用兵器,有些木马、病毒可以通过免杀技术的加持躲过主流杀毒软件的查杀,从而实现在受害者机器上长期驻留并传播。

CobaltStrike基础

Cobalt Strike简称CS,它是一款非常好用的渗透测试工具,它允许攻击者在受害机器上部署名为“Beacon”的代理,Beacon 为攻击者提供了丰富的功能。它可以快速地生成后门并通过其控制目标主机。

CS拥有多种协议主机上线方式,集成了提权,凭据导出,端口转发,服务扫描,自动化溢出,多模式端口监听,木马生成,木马捆绑,socket代理,office攻击,文件捆绑,钓鱼等多种功能。但它也通常被利用于恶意木马后门、被利用于远程控制。

它支持通过 shellcode方式,创建自定义的C2二进制可执行文件,还支持通过修改代码来隐藏恶意程序。

在这里插入图片描述

基于CobaltStrike生成恶意 payload, 共分为5种:

1、HTML Application 生成 hta 形式的恶意 payload

2、 MS Office Macro 生成宏文档的 payload

3、 Payload Generator 生成各种语言的 payload

4、Windows Executable 生成可执行的分段 payload

5、 Windows Executable(S) 生成可执行的不分段 payload

Windows平台的 payload 有分段和不分段两种模式:

1、选择分段: 它生成的原始文件会很小,原始文件就是一个download,用于从C2下载并加载后续的 payload;

2、不分段模式: 它生成的原始文件跟普通软件大小差不多,原始文件是一个loader加载器,可以直接将 shellcode 加载执行。

样本基础分析

下图是本次分析样本的基本属性,这个样本的图标通过伪装成中国移动的图标,通过上文的理论基础,我们可以直接猜测出它是采用不分段的摸索,这个样本就是一个loader,它直接执行shellcode的功能。

在这里插入图片描述

下面通过PE的查壳工具Detect IT Easy对样本进行基本构成属性的分析,它首先是PE64的程序,并且是通过PyInstaller工具进行打包的(也就是说这个程序是通过python语言开发的),并且没有做任何保护的功能。
在这里插入图片描述

下图通过CFF工具可以分析出,该样本的依赖模块都是系统模块,没有依赖自定义或者第三方的模块。

在这里插入图片描述

行为数据分析

通过进程监控工具进行对样本启动过程进行文件监控(在虚拟机环境上测试)

下图可以清晰的看到该样本在启动的时候会创建很多文件(也就是依赖释放文件):

1、这里面有个python38.dll模块,表示该样本采用python3.8版本进行编译的。

2、还有释放了好几个的pyd的文件(pyd文件时由python编译生成的 Python 扩展模块,为啥要打包成pyd文件呢?因为pyd文件可以更好的防止反编译,只能反汇编。要分析pyd文件就得借助ida静态反汇编工具进行分析。)。

3、还有个base_library.zip文件(这个就是python工具打包成exe后,运行所需要的依赖模块)。

下图是od中进行释放文件的功能实现部分。

在这里插入图片描述

通过CreateFileMapping方式操作文件。

在这里插入图片描述

通过网络抓包工具Fiddler对样本的网络行为分析

通过下图的监控工具截图中可以看到,该样本在启动后通过http方式的网络通信行为,所指向的服务器:124.70.22.50:8090

在这里插入图片描述

下图通过威胁情报的数据中心分析,该ip是华为云的,并且这个ip所指向的都已被标识为病毒相关信息。

在这里插入图片描述

代码功能分析

从前面的分析这个样本是python基于python3.8开发的,通过python打包的应用可以通过解包还原出python的源代码,下面就对样本进行解包,分析解包后的源代码

1、通过基于pyinstxtractor.py进行解包,只要用pytho pyinstxtractor.py cs(样本名称)

在这里插入图片描述

执行命令后,在目录中会出现解包后文件夹,这个文件夹就是解包后的数据

通过下图可以看出这个样了里面主要由pyc文件、pyd文件、dll文件、zip文件构成的,其中高危端口检测.pyc就是样本的主程序。pyc文件无法直接查看需要将pyc文件转换为py文件。

2、通过使用 uncompyle6 可以将.pyc文件反编译成.py文件

在这里插入图片描述

执行完上面命令后,下图就是反编译转换后的py文件了,这时候就可以查看py的源代码。

在这里插入图片描述

下图是反编译转换后高危端口扫描.py的源代码,这代码里面主要的功能实通过base64去加解密,通过开启一个线程去执行自定义的shellcode代码(shellcode代码可以用于对抗病毒查杀软件的查杀,也就是免杀功能)
在这里插入图片描述

通过采用urllib方式的http通信(它是一个内置在Python标准库中的模块),使用http.client来实现HTTP和协议的客户端。基于Request方式进行http通信。

在这里插入图片描述

防护思考

目前Cobalt Strike所有的后门都比较活跃,在红蓝对抗中占据很重要的地位,建议提前部署具备高级威胁检测能力的安全产品进行及时监控、防范。

个人降低和防范中木马病毒建议方式:

1、主机环境安装主流的病毒查杀软件并及时更新病毒库;

2、规范上网行为,不下载安装未知的软件;

3、不点开来历不明的文档、图片、音频视频等;

4、及时安装系统补丁,修复漏洞;

5、加强密码复杂度,定期更改密码;

6、进行严格的隔离,有关系统、服务尽量不开放到互联网上,内网中的系统也要通过防火墙、VLAN或网匣等进行隔离。

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

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

相关文章

网络编程--select实现IO复用

何为复用 简单来说,复用就是在1个通信频道中传递多个数据的技术。 常见的复用方式有时分复用和频分复用。 时分复用:即在某一时间段内容,只允许传输一个数据。 频分复用:指的是在某一时间段可以传输多个“频率”不同的数据。 …

朱金宝:数据治理产品发展趋势及Datablau产品最新动态

在刚刚结束的2023数据治理新实践峰会上,Datablau数语科技联合创始人&CTO朱金宝先生分享了对数据治理产品发展趋势的深度思考及Datablau新产品预览,并在现场发布了两款最新工具。 以下是朱金宝先生的演讲实录,为了方便阅读,小…

商家中心之java商城 java电子商务Spring Cloud+Spring Boot+mybatis+MQ+VR全景+b2b2c

1. 涉及平台 平台管理、商家端(PC端、手机端)、买家平台(H5/公众号、小程序、APP端(IOS/Android)、微服务平台(业务服务) 2. 核心架构 Spring Cloud、Spring Boot、Mybatis、Redis 3. 前端框架…

字符串String

目录 String 字符串比较 charAt 取数组中的值 案例 substring 案例:手机号加密​ StringBuilder StringBuilder提高效率原理图 StringJoiner 字符串拼接底层方法 String 创造方法 直接赋值通过new关键字 / 构造方法 字符串比较 equals :要求比…

chatgpt赋能Python-pycharm滚轮调大小

PyCharm使用技巧:滚轮调整代码大小提高工作效率 介绍 PyCharm是目前最受欢迎的Python开发IDE之一。然而,即使在使用PyCharm多年的开发者中,很多人都不知道如何使用滚轮来调整代码显示的大小。这在工作中可能会导致眼睛疲劳,降低…

Mysql案例

Mysql案例 1.分组查询排名优先的数据1.1 分组获取最新一条记录1.2 分组获取最新的两条数据 1.分组查询排名优先的数据 -- ---------------------------- -- Table structure for user -- ---------------------------- DROP TABLE IF EXISTS user; CREATE TABLE user (id int(…

力扣82删除排序链表中的重复元素 II:思路分析+代码实现+方法总结(三指针法快慢指针法【双指针】递归法)

文章目录 第一部分:题目描述第二部分:代码实现2.1 三指针法2.2 快慢指针法(双指针)2.3 递归 第一部分:题目描述 🏠 链接:82. 删除排序链表中的重复元素 II - 力扣(LeetCode&#xf…

简单快速的在openEuler22.03上部署openGauss2.10

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、安装openEuler1.创建虚拟机2.安装openEuler系统 二、安装openGauss1.设置openGauss2.创建数据库用户并设置权限3.设置防火墙4.远程连接openGauss 总结 前言…

PyQt5桌面应用开发(15):界面动画

本文目录 PyQt5桌面应用系列界面动画PyQt5的动画框架QPropertyAnimationQAnimationGrouppyqtProperty与插值 一个例子代码代码解析 结论 PyQt5桌面应用系列 PyQt5桌面应用开发(1):需求分析 PyQt5桌面应用开发(2)&#…

【手机建站】安卓Termux+cpolar内网穿透,搭建外网可以访问的网站

文章目录 概述1.搭建apache2.安装cpolar内网穿透3.公网访问配置4.固定公网地址5.添加站点 概述 Termux是一个Android终端仿真应用程序,用于在 Android 手机上搭建一个完整的Linux 环境,能够实现Linux下的许多基本操作,不需要root权限Termux就…

电脑格式化后数据恢复软件EasyRecovery16

EasyRecovery是一款由Kroll Ontrack公司开发的专业数据恢复软件,旨在帮助用户从各种数据丢失情况下恢复文件。无论是因为误删除、格式化、分区丢失、系统崩溃还是其他原因导致的数据丢失,EasyRecovery都具有强大的恢复功能。 EasyRecovery提供了多种恢复…

什么是 Git 的 cherry-pick?

官方解析 Git 的 cherry-pick 是一种将指定的提交(commit)应用到当前分支的操作。它可以帮助我们将某个分支上的某次提交复制到另一个分支上,而无需将整个分支合并过来。 通常,我们在使用 Git 进行版本控制时,会在不…

JAVA-Activiti 7与达梦、人大金仓兼容-修改源码包(1)

目录 第一步,下载源码包 第二步,修改源码内容 1.1进行部分源码包修改 1.1.1 在org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl,增加成员变量。 1.1.2 修改org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl 类的getDefaultDatabase…

UML类图画法及其关系

UML类图画法及其关系 本文主要是介绍 UML类图画法及其关系,方便今后温习!!! 一、类之间的关系汇总 泛化(Generalization)实现(Realization)关联(Association&#xff…

基于springboot+jsp的校园音乐网站系统

该系统能完成的主要功能分为管理员和用户两个用户角色。主要功能包括主页、个人中心、用户管理、校园歌手管理、明星歌手管理、歌曲类别管理、校园歌曲管理、歌曲MV管理、歌手歌曲管理、系统管理等。而用户登入系统也可以对自己的信息以及修改个人资料进行查看等功能。该系统在…

YOLO-NAS C++部署 2023.5.17

这不最近新出了网络,YOLO-NAS,听过性能和速度都不错,而且int8量化后效果也不错。 一、吐槽 但是我打开该项目阅读readme.txt时候,发现这些示例网站一个都打不开! 而且readme.txt很不详细,你想训练自己的模…

设计模式之【访问者模式】,动态双分派的魅力

文章目录 一、什么是访问者模式1、访问者模式的应用场景2、访问者模式的五大角色3、访问者模式的优缺点 二、实例1、访问者模式的通用写法2、宠物喂食实例3、KPI考核案例小总结 三、分派1、什么是分派2、静态分派3、动态分派4、双分派5、访问者模式中的伪动态双分派 四、访问者…

mkv转mp4格式怎么转,5种便捷工具盘点

mkv转mp4格式怎么转?因为当我们下载视频时,通常无法选择格式,这可能会导致下载的视频无法打开。如果下载的是MKV格式,它可以容纳多个音频、视频和字幕流。然而,并非所有播放器都支持MKV格式的视频文件。尽管MKV是常见的…

2D车道线检测算法总结

关于2D车道线检测算法的总结主要分为两类:一类基于语义分割来做,一类基于anchor和关键点来做。还有基于曲线方程来做的,但是落地的话还是上面两种为主。 一、基于语义分割的车道线检测算法 1.LaneNet 论文创新点: 1.将车道线检…

【软考数据库】第十五章 知识产权和标准化

目录 15.1 知识产权概述 15.2 保护期限 15.3 知识产权人的确定 15.4 侵权判断 15.5 标准划分 前言: 笔记来自《文老师软考数据库》教材精讲,精讲视频在b站,某宝都可以找到,个人感觉通俗易懂。 15.1 知识产权概述 知识产权是…