CS后门源码特征分析与IDS入侵检测
CS后门源码特征分析与IDS入侵检测考核作业
上线x64
getshell

抓心跳包,对特征字符解密Uqd3

用java的checksum8算法得到93,说明是x64的木马

public class EchoTest {
public static long checksum8(String text) {
if (text.length() < 4) {
return 0L;
}
text = text.replace("/", "");
long sum = 0L;
for (int x = 0; x < text.length(); x++) {
sum += text.charAt(x);
}
return sum % 256L;
}
public static void main(String[] args) throws Exception {
System.out.println(checksum8("Uqd3"));
}
}
再上线一个32位的木马
抓心跳包
GET /7sy9 HTTP/1.1
User-Agent: Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; Trident/6.0)
Host: 192.168.225.128:2222
Connection: Keep-Alive
Cache-Control: no-cache
再算一下发现是92,是一个32位的木马

心跳包解密:

看报错缺了依赖,pip install xxxxx下好



win+r cmd使用命令netstat -ano,查看被控端的连接

看到有2222端口,再去看wireshark的流量,过滤这俩的流量包,找到uid,就能找到伪装的exe木马
# suricata规则
# http-beacon-staging,向c2服务器发起get请求,下载大小约210kb的stager,请求地址符合
checksum8规则
# 调用lua检查uri是否符合checksum8规则:计算uri的ascii之和并与256做取余计算,余数为92则符合
规则
alert http any any -> any any (gid:3333; sid:30001; rev:1; \
msg:"http-beacon-checksum8-path-parse"; \
classtype: http-beacon; \
flow: established, to_server; \
urilen:4<>6; \
luajit:checksum8_check.lua; \
)
# checksum8_check.lua
function init (args)
local needs = {}
needs["http.uri"] = tostring(true)
return needs
end
function match(args)
local uri_raw = tostring(args["http.uri"])
local uri = string.sub(uri_raw, 2, -1) -- 去除uri中的"/"
local sum = 0
for i=1,#uri do
local x = string.sub(uri,i,i)
sum = sum + string.byte(x)
end
if (sum % 256) == 92 then
return 1 -- 符合checksum8规则,匹配成功
else
return 0 -- 不符合checksum8规则,匹配失败
end
end
创建一个http的规则文件,命名位cshttp将规则写入
然后放入suricata的规则文件夹之中运行之后再查看日志

之后再生成一个https型的后门,先创建一个新的监听器

再生成一个可执行的恶意文件

之后在物理机中运行用wirehshark进行流量监测可以发现JA3码具有明显的特征

编写规则文件
# https-beacon-ja3指纹,client-hello
alert tls any any -> any any (gid:6666; sid:30005; rev:1; \
msg:"https-beacon-ja3-hash"; \
classtype: https-beacon; \
ja3.hash;
pcre:"/652358a663590cfc624787f06b82d9ae|4d93395b1c1b9ad28122fb4d09f28c5e|72a589d
a586844d7f0818ce684948eea|a0e9f5d64349fb13191bc781f81f42e1/"; \
)
# https-beacon-ja3s指纹,server-hello
alert tls any any -> any any (gid:6666; sid:30006; rev:1; \
msg:"https-beacon-ja3s-hash"; \
classtype: https-beacon; \
ja3s.hash;
pcre:"/fd4bc6cea4877646ccd62f0792ec0b62|15af977ce25de452b96affa2addb1036|b742b40
7517bac9536a77a7b0fee28e9/"; \
)
查看日志

加壳免杀处理流量分析
因为是在无安全软件的干扰下进行的我们直接用一个最简单的upx壳来当作免杀处理


加壳之后先运行64位的后门软件,然后运行抓包,再将心跳包后缀改为vir文件解密

看上去upx壳并不能对最后解析的结果产生作用
再运行32位的http后门,将生成的心跳包用工具解密

可以看到同样也将心跳包的内容解密出来了
由此可见一些简单的加壳对心跳包的解读是没有影响的
CS后门源码特征分析与IDS入侵检测的更多相关文章
- 构建基于Suricata+Splunk的IDS入侵检测系统
一.什么是IDS和IPS? IDS(Intrusion Detection Systems):入侵检测系统,是一种网络安全设备或应用软件,可以依照一定的安全策略,对网络.系统的运行状况进行监视,尽可能 ...
- IDS入侵检测系统
目录 IDS入侵检测系统 入侵检测系统的作用 入侵检测系统功能 入侵检测系统的分类 入侵检测系统的架构 入侵检测工作过程 数据检测技术 误用检测 异常检测 IDS的部署 基于网络的IDS 基于主机的I ...
- java编译后字节码解析
java编译后字节码解析 参考网摘: https://my.oschina.net/indestiny/blog/194260
- Linux,IDS入侵防御系统
https://www.comparitech.com/net-admin/network-intrusion-detection-tools/11 2018年的顶级入侵检测工具 https://op ...
- 机器学习在入侵检测方面的应用 - 基于ADFA-LD训练集训练入侵检测判别模型
1. ADFA-LD数据集简介 ADFA-LD数据集是澳大利亚国防学院对外发布的一套主机级入侵检测数据集合,包括Linux和Windows,是一个包含了入侵事件的系统调用syscall序列的数据集(以 ...
- SNORT入侵检测系统
SNORT入侵检测系统 YxWa · 2015/10/09 10:38 0x00 一条简单的规则 alert tcp 202.110.8.1 any -> 122.111.90.8 80 (ms ...
- 搭建开源入侵检测系统Snort并实现与防火墙联动
Snort作为一款优秀的开源主机入侵检测系统,在windows和Linux平台上均可安装运行.BT5作为曾经的一款经典的渗透神器,基于 Ubuntu,里面已经预装很多的应用,比如Mysql.Apach ...
- 入侵检测工具之RKHunter & AIDE
一.AIDE AIDE全称为(Adevanced Intrusion Detection Environment)是一个入侵检测工具,主要用于检查文件的完整性,审计系统中的工具是否被更改过. AIDE ...
- 入侵检测基本准则(Basic principles of intrusion detection)【v1.0】
所谓“入侵检测”,顾名思义,就是对入侵行为的发觉.他通过对计算机网络或计算机系统中若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象.” 但实际上,所谓的“违 ...
- Linux 上搭建 Snort+BASE 入侵检测系统
配置实验环境 由于本人电脑的存储空间不足,无法再承担安装一个虚拟机的开销,因此在阿里云上申请了一个云服务器进行本次实验.服务器配置如下: 1 核 - 2GB 内存 - 40GB 系统盘 操作系统:Ub ...
随机推荐
- 云小蜜 Dubbo3.0 实践:从微服务迁移上云到流量治理
简介:阿里云-达摩院-云小蜜对话机器人产品基于深度机器学习技术.自然语言理解技术和对话管理技术,为企业提供多引擎.多渠道.多模态的对话机器人服务.17 年云小蜜对话机器人在公共云开始公测,同期在混合 ...
- 【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘
简介: 本文主要阐述 CDS 产品中 OSS 服务在容灾方面的部署形态以及实现的其本原理. 容灾功能可以保证用户一份数据在多个地方存在冗余备份,当某个机房出现极端异常(比如物理损毁)情况下,数据也不 ...
- [Py] Python 接口数据用 pandas 高效写入 csv
通过 pandas 把 dict 数据封装,调用接口方法写入 csv 文件. import pandas as pd data = [{"name": "a"} ...
- 火山引擎ByteHouse:OLAP如何支持超高QPS点查?
更多技术交流.求职机会,欢迎关注字节跳动数据平台微信公众号,回复[1]进入官方交流群 在当今高速发展的互联网时代,信息传播迅速,用户数量激增.在面对如此庞大的用户群体和高频的访问需求时,系统高并发访问 ...
- 基于Jenkins+k8s+Git等技术构建DeOps平台
一.DeOps简介 1.什么是DeOps? 1.1 敏捷开发 提高开发效率,及时跟进用户需求,缩短开发周期. 敏捷开发包括编写代码和构建代码两个阶段,可以使用 git 或者 svn 来管理代码,用 ...
- 几个函数的使用例子:更新VBRK-XBLNR,IB01设备BOM创建,LI11N输入库存盘点
最近用到一些函数,网上的相关资料不多,这里记录一下. 本文链接:https://www.cnblogs.com/hhelibeb/p/17012303.html 1,使用 RV_INVOICE_HEA ...
- .Net 8.0 下的新RPC,IceRPC之"请求"生命线意义非凡
作者引言 很高兴啊,我们来到了IceRPC之"请求"生命线意义非凡,号称"死亡时间"的追命线,颤抖吧! "请求"生命线之意义非凡 本文将深入 ...
- Golang ETCD包的安装使用 golang安装etcd第三方库clientv3 报错 解决
目录 ETCD 官网 视频地址 课件资料 ETCD 日志收集项目 为什么要自己写不用ELK? 项目的架构 上节课项目进度 etcd介绍 安装etcd windows安装 Ubuntu(linux系统) ...
- ansible(13)--ansible的lineinfile模块
1. lineinfile模块 功能:修改或删除文件内容,与系统中的 sed 命令类似: 主要参数如下: 参数 说明 path 指定要操作的文件 regexp 使用正则表达式匹配对应的行 line 修 ...
- WEB服务与NGINX(16)-网站logo之favicon.ico文件
目录 1. 网站logo之favicon.ico文件 1.1 favicon.ico文件的作用 1.2 favicon.ico文件带来的问题 1. 网站logo之favicon.ico文件 1.1 f ...