PC端恶意代码分析Lab14.1-3:IDS标记

admin 2022年4月25日02:18:35评论61 views字数 2769阅读9分13秒阅读模式
PC端恶意代码分析Lab14.1-3:IDS标记

点击蓝字 · 关注我们

前言

PC端恶意代码分析Lab14.1-3:IDS标记

恶意代码分析是安全从业人员非常重要的一个技能。

参考书籍:<<恶意代码分析实战>>

               <<Windows核心编程>>

相关知识

PC端恶意代码分析Lab14.1-3:IDS标记

书本上用到的是snort,但我个人比较熟悉suricata引擎。所以下面以suricata为例,虽然两者之间相似处很多,几乎一样。

Suricata是一个免费、开源、成熟、快速、健壮的网络威胁检测引擎。Suricata引擎能够进行实时入侵检测(IDS)、内联入侵预防(IPS)、网络安全监控(NSM)和离线pcap处理。

suricata支持多个动作,pass,reject,alert,drop.

多个协议:

TCP、UDP、ICMP、IP、http、ftp、ssh、imap

在网络行为监测上,是一个非常好用的工具。

因为suricata的关键字很多,下面只列举几个http协议的关键字,更多的可以去suricata官网查看。

http_method

修饰content,表示content只能在HTTP方法上匹配

http_uri/http_raw_uri

在请求URL缓冲区上匹配

uricontent

效果与http_uri相同

urilen

urilen用来匹配uri长度

http.protocol

protocol从请求或响应行检查协议字段

http.request_line

强制检查整个HTTP请求行

http.header/http.header.raw

匹配HTTP header缓存区所有信息

http.cookie

匹配cookie缓存区

http.user_agent

匹配的是user-agent中的纯文本内容

http.accept

与HTTP Accept header匹配的粘性缓冲区

http.accent_enc

与HTTP Accept-Encoding header匹配的粘性缓冲区

http.accept_lang

与HTTP Accept-Language header 匹配的粘性缓冲区

http.connection

与HTTP Connection header匹配的粘性缓冲区

http.content_type

与HTTP Content-Type header匹配的粘性缓冲区

http.content_len

与HTTP Content-Length header匹配的粘性缓冲区。

http_referer

要在HTTP Referer header上匹配的粘性缓冲区

http.start

检查HTTP请求/响应的起始

http.header_names

检查只包含HTTP头名称的缓冲区

http.request_body

匹配请求体

http.stat_code

匹配状态码

http.response_body

匹配返回的请求体

http.host

匹配host头

Lab14-1

PC端恶意代码分析Lab14.1-3:IDS标记

放入PEid查看,无壳

PC端恶意代码分析Lab14.1-3:IDS标记


放入IDA中查看。

PC端恶意代码分析Lab14.1-3:IDS标记


GetCurrentHwProfileA

得到硬件配置文件GUID

GetUserNameA

获取当前登录的用户名

这里进行base64编码,但是编码方式有点不一样,=改成了a。

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


然后将编码后内容与编码最后一位结合,作为传输url.

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


然后下载文件,创建一个进程运行。

PC端恶意代码分析Lab14.1-3:IDS标记



这里运行一下,查看网络特征。

PC端恶意代码分析Lab14.1-3:IDS标记


这里可以看到base64特征,替换两个a为=,解密,GUID和用户名

PC端恶意代码分析Lab14.1-3:IDS标记


这里编写suricata的两个特征规则

alerttcp any any -> any any(msg:"Lab14.1 first.";  urilen:>32;content:"GET|20|/";  depth:5;pcre:"/GETx20/[A-Z0-9a-z+/]{3}6[A-Z0-9a-z+/]{3}6[A-Z0-9a-z+/]{3}6[A-Z0-9a-z+/]{3}6[A-Z0-9a-z+/]{3}6[A-Z0-9a-z+/]{3}t([A-Z0-9a-z+/]{4}){1,}//i";sid:100001; rev:1;)


alerthttp any any -> any any (msg:"Lab14.1 internet."; urilen:>32;content:".png"; http.uri;pcre:"//[A-Z0-9a-z+/]{24,}([A-Z0-9a-z+/])/1.png/URi";sid:100002; rev:1;)

第一个代表的是匹配GET类型,长度大于32,然后结尾都是6的前面,因为冒号,第六个总是t,因为破折号。然后这个匹配是忽略png的后缀。

然后这里第二个是匹配了png,用最后一个匹配的括号作为.png前缀的结尾。

Lab14-2

PC端恶意代码分析Lab14.1-3:IDS标记

把文件放入PEid中查看。

PC端恶意代码分析Lab14.1-3:IDS标记


LoadStringA

从 资源 里加载字符串资源到CString对象里。

CreateEventA

它用来创建或打开一个命名的或无名的事件对象。如果想为对象指定一个访问掩码,应当使用CreateEventEx函数。

PeekNamedPipe

预览一个管道中的数据,或取得与管道中的数据有关的信息。


查看资源文件

PC端恶意代码分析Lab14.1-3:IDS标记



放入IDA中查看。

PC端恶意代码分析Lab14.1-3:IDS标记


先导入了资源文件的字符串。

然后创建两个管道。

PC端恶意代码分析Lab14.1-3:IDS标记


创建cmd进程。

PC端恶意代码分析Lab14.1-3:IDS标记


创建一个线程

PC端恶意代码分析Lab14.1-3:IDS标记


读取管道内容并加密。

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


作为agent内容发送出去。

PC端恶意代码分析Lab14.1-3:IDS标记


之后不断对网站进行访问。

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


这里理一下思路,就是明文agent获得命令,编码agent输出结果。

Lab14-3

PC端恶意代码分析Lab14.1-3:IDS标记

放入DiE99中查看,无壳。

PC端恶意代码分析Lab14.1-3:IDS标记


放入IDA中查看。

PC端恶意代码分析Lab14.1-3:IDS标记


进行一个配置文件的判断,有读取,没创建写入。

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


然后进行网络连接

PC端恶意代码分析Lab14.1-3:IDS标记


这里可以看到一个switch结构

PC端恶意代码分析Lab14.1-3:IDS标记


根据不同指令跳转。

PC端恶意代码分析Lab14.1-3:IDS标记


解码后,创建线程运行url换存文件

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


休眠

PC端恶意代码分析Lab14.1-3:IDS标记


解码后,更新配置文件

PC端恶意代码分析Lab14.1-3:IDS标记

PC端恶意代码分析Lab14.1-3:IDS标记


运行,编写规则。

PC端恶意代码分析Lab14.1-3:IDS标记


这里因为代码编写者的错误,会多一个agent字样,作为特征

alerthttp any any -> any any(msg:"Lab14.3";content:"User-Agent|3a20|Mozilla/4.0|20|(compatible;|20|MISE";http.user_agent;  sid:100003; rev:1;)


接着的规则没有现成的数据包,是根据代码写的

alert tcp any any -> anyany(msg:"Lab14.3 1"; content:"/08202016370000";pcre:"//[dr][^/]*/08202016370000/i"; sid:100004; rev:1;)

08202016370000是http://的编码结果,dr代表的是download和redirect两个指令。

休眠

alert tcp any any -> anyany(msg:"Lab14.3 2"; content:"96";pcre:"//s[^/]{0,15}/[0-9]{2,20}96/i"; sid:100005; rev:1;)



原文始发于微信公众号(Th0r安全):PC端恶意代码分析Lab14.1-3:IDS标记

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2022年4月25日02:18:35
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   PC端恶意代码分析Lab14.1-3:IDS标记http://cn-sec.com/archives/937057.html

发表评论

匿名网友 填写信息