搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > 七夜安全博客 > linux命令反混淆-忙里偷闲

linux命令反混淆-忙里偷闲

七夜安全博客 2018-11-16


linux命令反混淆
前言


大家也都知道最近一直在做的是webshell的检测,为啥突然搞了一下linux命令反混淆呢?纯属忙里偷闲之举,主要听了几位大佬的关于linux恶意命令检测这方面的分享,真心佩服,就想搞一搞,站在大佬的肩膀上做一些苦力活,做一些小思考,多解决一些问题。。。记得点GG,文末有福利。。。


linux命令反混淆-忙里偷闲


支持我就点点文末GG,穷死了。。。



第一节

去伪存真

在对linux恶意命令检测的过程中,比较头疼的是命令的混淆,混淆的命令更容易绕过静态检测,其实和webshell一样的道理,变形多样化。咱们看一个例子:


cat $(echo /e)tc$(echo /pa*)wd


其实这是一个对 cat /etc/passwd 的混淆,利用shell的语法特性,可以构造多种多样的混淆,举一些 cat /etc/passwd 的变形,当然这些网上都有,尤其是国外的Twitter上。


cat /et$'c/pa\u0000/notexist/path'sswd


test=/ehhh/hmtc/pahhh/hmsswd;

cat ${test//hh??hm/};


大家可以思考一个这样的问题,为什么混淆的命令,bash (shell的一种) 依然可以运行呀,说明bash是知道真正要执行的命令,也就说无论怎么混淆,bash都是知道的。


那就可以从bash本身下手。。。


linux命令反混淆-忙里偷闲

支持我就点点文末GG,穷死了。。。


第二节

bash 调试功能

     经常使用shell的,大家都应该知道 sh -x 这个命令,sh其实是bash的软连接,本质上还是调用的bash。sh -x可以打印出shell脚本的运行过程,这样就可以看到真正的执行命令,


但是有一点不好,就是它真的会把命令执行起来。。。用它作为沙箱比较蛋疼,浪费了检测的时间,还有可能被反调试。


先看一下效果,咱们把  cat $(echo /e)tc$(echo /pa*)wd 保存成一个 shell文件,然后使用sh -x进行调试。


linux命令反混淆-忙里偷闲


大家看到了吗?前面带+号的就是执行的流程,以及最后真正执行的命令,混淆的命令在bash面前全部显示出来。如果大家使用sh -x作为沙箱的话,使用python脚本提取带+号的内容,即是还原的命令。。。


但是我感觉应该更进一步,努力一下,我提到了上面sh -x,作为沙箱的一些不太好的点,它真的会把命令执行,假如混淆的是ping命令,ping一个域名,需要较长时间,真的运行的话,这个沙箱的效率太低了。。。


对于这个功能,需要进行定制化的改造。。。不能让命令真的运行起来。。。


linux命令反混淆-忙里偷闲

支持我就点点文末GG,穷死了。。。



第三节

bash 调试功能改造

     现在常用的bash4.2的代码10万多行,对于bash的改造就是要好好看代码,bash是一个伟大的产品,值得一看(内心mmp)。。。


对于具体的改造,一两句话说不清楚,其实就是一句一句的跟踪代码,体力活总得有人干。等我把这个bash改造完成,再详细的说一下。经过初步的改造,编译成bash文件,外部命令已经无法运行,还是以cat /etc/passwd 为例,将他保存为test.sh文件。


cat $(echo /e)tc$(echo /pa*)wd


linux命令反混淆-忙里偷闲


这样沙箱的检测速度就会成倍的增长。。。


这个编译好的bash,我会在知识星球中分享


当然这个bash还有一些瑕疵,在处理管道的时候,还是有点小问题。



第四节

福利

等了7年了,IG终于代表LPL拿到了S系列的冠军,等的时间太长了,圆了我们的青春梦。为了庆祝,IG取得胜利,我之前写的《coolblog开发笔记》电子书,限时打一折,一块钱大甩卖。。。


linux命令反混淆-忙里偷闲



最后推荐一本书,新出的《加密与解密》第四版,凡是做过逆向的,都会知道看雪论坛,凡是去过看雪的,都知道加密与解密这本牛书。

linux命令反混淆-忙里偷闲

  • 回复【1】:领取 Python数据分析 教程大礼包

  • 回复【2】:领取 Python Flask 全套教程

  • 回复【3】:领取 某学院 机器学习 教程

  • 回复【4】:领取 爬虫 教程

  • 回复【5】:领取编译原理 教程

  • 回复【6】:领取渗透测试教程

知识星球已经60多人了,随着人数的增多,价格之后会上涨,越早关注越多优惠。星球的福利有很多:

  • 比如上面的教程,已经提前在知识星球中分享

  • 可以发表一些问题,大家一块解决

  • 我之后写的电子书,录制的教学视频,对于知识星球的朋友都是优惠的(基本上免费)

  • 一些节假日会给大家发个红包或者赠书

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《linux命令反混淆-忙里偷闲》的版权归原作者「七夜安全博客」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注七夜安全博客微信公众号

七夜安全博客微信公众号:qiye_safe

七夜安全博客

手机扫描上方二维码即可关注七夜安全博客微信公众号

七夜安全博客最新文章

精品公众号随机推荐