观前提示

​ 本篇文章我会比较随意发挥 算是属于 想到哪里讲到哪里 可能并没有什么逻辑。老规矩上歌。

正文

​ 转眼已经是七月中旬了。想想这一个学期,经历的不少,但收获并不是很多。不过也有所感想,blog 也是许久没有更新,而且最近也算是忙完了一些繁琐之事。于是在今天回家路上突然就文思泉涌,就开始撰写本文。

学期伊始

​ 这一学期 早些时候,大约在 四月份的时候,我收获了人生中第一个 SRC 或者说漏洞吧。现在回想起来,早已没了当时的兴奋。不过依旧是值得肯定的一件事。

​ 学期一开始的日子其实一般般,生活其实很无趣。每天,寝室——教学区,两点一线的生活过的一般。这些时间其实很多,但是我处于一种较为浮躁的状态,学习东西较为暴躁,有些囫囵吞枣的意味。

​ 在结束了(算是结束了)邮件伪造骗过邮件服务器的之后。学期也进入了中期。

学期中后期

​ 根据鱼叉攻击的实施过程,伪造完毕,就要来一点真材实料的木马病毒之类的了。也是这个阶段,我渐渐开始起步些底层相关的东西(binary)了。包括一些基础的 BufferOverFlow 等等。学习的材料资料,包括 OSCP - PWK courses 中 BufferOverflow 章节,Pwntool 的基本使用 , Pwndbg 与 Immunity Debugger 和 Ida Pro 。这时候还买了几本书 诸葛建伟的 恶意代码分析实战 和 CSAPP ,以备之后学习之需。(我实在没想到 CSAPP 这本神书是如此的难啃,虽然不是很晦涩,但是没有基础确实会卡壳很久)

「题外话」其实这些时候学的比较杂,当然也完全是依靠兴趣所在,同时也有些断断续续的。一定程度上,学校的杂乱的课表安排,将原本就不多的课余时间,分割的零零碎碎,这种碎片时间是很难让我一个 本就注意力难以集中的人 集中精力来应付。学期中后期其实我承认我浪费时间挺多的。正如朋友所说的,上学有害学习。看似不合理其实真实又有些悲哀。

​ 回到之前的话题,说到木马,不得不提到两样东西。一个是 C2 即 Command&Control 还有一个是免杀。

C2

​ 先说说 C2 吧。为了研究和实战实用,我尝试着购买了 VPS 并且部署了 CobaltStrike 的团队服务器 也就是 ./teamserver 这个小玩意(CS 当然是破解版啦)

​ 最后看下来的效果还是不错的,当然,我并没有尝试使用域名前置(domain fronting),原因有三点

  • 一是如果逆向之后真实的域名通讯地址与实际请求其实依旧明显。

  • 二是域名前置已经广泛位列于各大厂商的禁用名单了。

  • 三是这种做法其实本身并不符合 “ 要求 SNI 扩展和 HTTP 主机标头包含相同域的HTTP 标准 ”

​ 同时如果真心审查你的人,依旧能干你,而且会更加怀疑,当然这只是一种安全技术或者说审查规避技术,身为攻击者需要根据当时的环境,来灵活使用你的战术以便达到自己的目的。

免杀

​ 可以说花费心思最多的点在于免杀的实践里了。最佳纪录是 VirusTotal 中 做到了 2/67 的战绩 当然 后来几天 渐渐飙升到 10/69 ( 实战版本 而且是带了具体部署的 C2 的 ) 可惜是仅仅是静态查杀罢了,也没有达到 FND(full no detect)的效果 有些可惜,与此同时高敏感的行为还是极易被识别和干掉。

​ 登陆VirusTotal之后可以看到对应的信息提示有The sandbox VirusTotal ZenBox flags this file as: MALWARE TROJAN EVADER 我想应该是我这段时间努力的肯定吧。

​ 并且在室友之情的情况下,使用木马远程持续控制到现在,另一个室友卸载了他的杀软,于是乎 Windows defender 自动上位,导致行为查杀变得更为严格,最终惜败于 WD 的手下,控制时长 两个月。

​ 一直没变的中间一代的测试版本木马是这个 https://www.virustotal.com/gui/file/3a6006aa029c7ad0b0f9981fd7fe891059ab539d418ff2246e70a21139db7a71/ 也仅仅是 从 4 变为 8 罢了。

​ 而且在与系统战斗的过程中,还是很快乐的。有以下几条好玩的,这里分析一下。

最好的防守是进攻!

​ 我所理解的杀毒检查,基本是基于特征,而所有的特征来源于病毒或者木马在运作过程中产生的种种痕迹。有落地痕迹的(存在文件读写),有二进制特征码,文件包含字符串特征(比如mimikatz);不落地的(所谓内存马),有内存特征(一般是基于 shellcode),shellcode 又有 stage 阶段的阶段特征(类似于一种加载器 shellcode),stageless 的全功能木马特征(无加载器阶段);行为特征,包括各种远程注入的特征,各种劫持的特征,系统调用特征,执行时留下的痕迹特征(包括但不限于 创建服务持久化 创建任务持久化 rundll方式运行代码 产生间断性或持续性连接 明文链接如 http 和 tcp 的内容审查 以及恶意的功能实现时产生的必要痕迹)等等。

​ 如果您是一位高超的反病毒专家或是恶意代码编写人,或许您可以确切的描述和产生出相应的流程和具体细节的话,那么您应该应该了解各处产生的必要痕迹,从而总结和提炼出对应的防御方法。

​ 同样,每种痕迹都有对应的解决办法。而且基本上都可以使用最最无脑的经典三大件 压缩混淆加密。例如基础的加壳 加花 和 Base64。

​ 手段千奇百怪 却又经典的不行。给出最经典的资料 指路:

​ 还有不少奇技淫巧,很多手法都会在 APT 大手子们的报告里体现出来,比如说攻击全程模拟用户的按键输入来执行 恶意脚本和指令,实际上表现出来的效果便是规避了从木马中直接启动 powershell 子线程的内存痕迹。 ————2021-07-25 Content Update

最好的进攻是防守?

​ 既然我们软件是具有痕迹的,那么其实分析师们对抗我们 红队的时候 也是具有特征的。还记得我 放上了带有自己 C2 的实战性质木马吗? 这种行为属于比较勇的那种,毕竟是疯狂被抄家。在这里我给出 一些目前为止的特征。

VirusTotal 上线 CS 的一些痕迹

  • 无 UAC 直接给管理员权限

  • 上线 的用户 id 一般性是 奇怪id_* 如果是个人电脑 一般 id 和 pc 名字一样 或者直接 administrator

  • 上线很快的同时断线也很快 几乎是秒上秒断

  • 同一个分析室 可能几分会多次快速上线 我猜测应该是分析信道

  • 第一天上传的时候 大约一小时之后 就会迎来一堆分析师的观光 高峰会持续半天

  • C2 观光持续时间一般性是两天三天左右

  • 最大的特征 **inet 地址非常奇怪 一般不会是 192.168.*.*10.*.*.* 这类常见的 ip 内网地址 而会是 169.254.*.* 这类云端地址 或者 另外的非保留地址 而且内外地址是对不上的 **

    ​ 所以编写病毒的时候可以额外注意处理一下类似的情况 比如说 curl 一下 ifconfig.me 和 ifconfig / ipconfig 指令的结果比较。

一些其他观点

安全技术

​ 关于安全技术的使用,固然安全技术可以保护人们的隐私和信息。也可以用于保护自己的木马恶意软件通讯和保持隐匿。但是无法解决 木马本身带有的恶意行为安全技术本身也是一种特征 的问题。

​ 所以我认为 红队成员需要根据目标的特质 来动态调整自己的策略 以达到最优解。没有什么是可以包打天下的,不存在一种技术可以全部免杀,蓝队也不存在一种防护或者侦查机制就一定能检测出来所有的恶意行为。就算有也会被针对性处理,你研究的是一个方法,但对方来说只是一个特例。

给红蓝队开发者的建议

​ 在这场博弈当中,双方是相互制衡,共同发展的。同样在利用的时候要注意人性的问题。打个比方,白加黑这种带有半社工性质的攻击方式也是较为常用的。某个带有微软数字签名的 白应用 居然做木马的一些高敏感事情,很容易有人就放行了。这种技术的博弈会渐渐变成心理战术的博弈。比如红检测虚拟机不发作恶意代码,蓝将自己机器伪装成虚拟机来规避。

​ win API 真的很好用 还具有各种奇妙的魔法。https://github.com/vxunderground/WinAPI-Tricks 推荐学习。

学期末

​ 无疑学期末的考试是最为痛苦的。我不得不放弃恒多时间回归课本,进行一轮又一轮的刷题。而我其实已经大半个学期没有认认真真上课了,回归状态其实是非常困难的。这种状态的调整无疑也耗费了大量的时间。

​ 更为无语的是考试结束后的还有的小学期,属实把已经累垮的我重新再榨干一次。

​ 回想一下,还好 都已经结束了。

写在最后

最近

​ 最近和自己的朋友交流更加频繁起来了,毕竟是暑假。很高兴看到自己的朋友没有停下自己的脚步。

​ 某位朋友和我一样在硬啃 CSAPP ,一番交流之后我推荐了最近看到的一个好的视频作者 https://space.bilibili.com/354767108/ 这是他的主页链接。在这里也推荐给 阅读这篇文章的你

​ 还有一位朋友,最近从用户态利用开始进入到 kernel pwn 的状态了。看着他的文章是越来越专业,从而渐渐一些名词也到了看不懂的地步,然后看着自己越来越摸鱼真是气不打一出来。相比之下,自己确实差了好多,水平不是很精湛,很多问题其实还是一知半解。

作记缘由

​ 本文比较偏向于日常向的日记,主要是交代一下,最近的生活和学习状态,当然其实还是比较摸鱼 ;-),还有记录一下一些在学习的时候产生的一些小小的思考。如果单独免杀和 C2 做来一篇文章的话,你所看到的可能远远不止这些,而且所需要的工程量是远远大于目前的文章的。免杀 Bypass AV 目前而言还是有一些玄学的,因为很多技术造成的影响很难进行估量,更何况有更好的文章。所以,主要还是为了传达出一些思想上的思考,技术上的实现较少,不过也有附上相关的链接。从他们开始起步,再加之慢慢学习一些奇技淫巧,效果应该会很好。 ———— 2021-07-25 Content Update

​ 要学的还有很多。始于足下吧。。