Rootkit 是一种特殊的恶意软件,它的功能是在安装目标上隐藏自身及指定的文件、进程和网络连接(端口)等信息,比较多见到的是 Rootkit 一般都和木马、后门等其他恶意程序结合使用。
RootKit 分为用户态rootkit 和内核级 rootkit。内核级 rootkit 可分基于 LKM 的 rootkit(又细分为系统调用表修改类以及VFS层rootkit等)和非 LKM 的 rootkit(如 patch kernel等)。

Rootkit实现环境:Ubuntu20.04,kernel 版本为5.4.52

Rootkit工具简介:本工具主要为基于 LKM 实现的,包括使用 vfs 层隐藏文件和端口、进程摘链、模块摘链等原理,单独维持隐藏链表达到一次可隐藏多个文件、进程等效果,通过实现在系统调用表中 hook openat 系统调用来整合 rootkit 功能到 cat 命令中(plusls大佬实现的工具)。

阅读全文 »

高效的可伸缩的多线程安全违规检测 — 在测试中发现数千个并发错误

摘要

一般来说,并发漏洞是非常难以检测、重现和调试的,而且在内部测试中也很难找到并发漏洞,但并发漏洞一旦引爆,极有可能造成生产环境的大规模停机等糟糕后果。现有的并发漏洞检测工具不能很好地集成到现有测试环境中的原因在于没有很好地解决以下几个问题:如何处理庞大代码库中,风格各异的同步机制?如何降低工具的误报?如何尽可能的少占用测试资源?

本文介绍了TSVD,这是一种线程安全违规检测器,它通过主动测试领域中的新设计点解决了这些挑战。与以前的随机注入延迟或使用昂贵的同步分析的技术不同,TSVD使用轻量级监视线程不安全方法的调用行为(而不是任何同步操作)来动态识别可疑对象。 然后,它注入相应的延迟,以使程序趋向于线程不安全的行为,从其能力或无能力中积极学习,并从一次测试运行到下一次测试持续进行。 TSVD已在Microsoft中部署并定期使用,它已经从数千个项目中发现了1000多个违反线程安全的行为。 它可以检测到比最新技术更多的错误,而且大多数情况下只需要进行一次测试即可。

阅读全文 »

Abstract

最近,定向灰盒模糊测试(directed grey-box fuzzing — DGF)在软件测试领域变得很流行。 与基于覆盖的模糊测试(其目标是增加代码覆盖范围以触发更多错误)不同,DGF旨在检查一段潜在的漏洞代码(例如,字符串操作)是否确实包含漏洞。 理想情况下,DGF生成的所有输入都应到达目标漏洞代码,直到触发漏洞为止,使用无法访问的输入去执行是浪费时间的。 不幸的是,在实际情况下,大量生成的输入无法使程序执行到目标,这极大地影响了模糊测试的效率,尤其是当越存在漏洞的代码代码嵌入受各种约束保护的代码中时。

在本文中,我们提出了一种基于深度学习的方法,可以在执行目标程序之前预测输入的可达性(即是否错过目标),帮助DGF过滤掉不可达的输入以提高模糊测试的性能。 为了运用DGF进行深度学习,我们设计了一套新技术(例如,step-forwarding方法,代表性数据选择)来解决标签数据不平衡和训练过程中时间不足的问题。 此外,我们实施了名为FuzzGuard的建议方法,并为其配备了最新的DGF(例如AFLGo)。 对45个实际漏洞的评估表明,FuzzGuard将vanilla AFLGo的模糊处理效率提高了17.1倍。 最后,为了理解FuzzGuard所学的关键特征,我们说明了它们与程序中的约束的关系。

阅读全文 »

Asm2Vec的pdf版本以及LEMNA论文阅读笔记

逆向工程是一项需要大量人工分析但必不可少的技术,用于了解新的恶意软件的内部工作原理,发现现有系统中的漏洞以及检测已发布软件中的专利侵权技术。汇编克隆搜索引擎通过识别那些重复或已知的块来促进逆向工程师的工作。 但是,要想设计一个健壮的克隆搜索引擎是一项挑战,因为存在各种编译器优化选项和代码混淆技术,它们会使逻辑上相似的汇编函数看起来非常不同。

阅读全文 »

2019国赛华南赛区半决赛 pwn部分解

这次比赛fix得乱七八糟,下次把插入代码的fix学会了再说,有大佬会的欢迎指点指点小弟,总体来说菜还是菜,做不出来的还是做不出来,有待提高。

阅读全文 »