WannaCry勒索病毒分析
WannaCry勒索病毒分析前言第一个分析勒索病毒分析的实践,仅用于记录自己的学习情况,大部分参考网上资料
分析病毒的步骤在工作中,病毒分析师的任务就是从中毒的机器中提取样本,第一时间手工清理或是修复机器现场,之后再做分析。
提取样本,手工清理机器
行为分折,获取病毒行为
详细分折,找到行为的恶意代码
提出解决方案,提取特征给公司产品,完成查杀,编写文档报告,有条件编写专杀工具
病毒背景介绍WannaCry勒索病毒 通过windows操作系统漏洞EternalBlue永恒之蓝 发起攻击。3月14 微软已经发布补丁,由于很多受害者没有及时安装补丁,导致被病毒攻击,计算机中的文件被加密
详细分析病毒分为漏洞利用模块,加密器,解密器
攻击逻辑如下:
攻击者发起攻击,被攻击机器由于存在漏洞,导致自身中毒。中毒之后漏洞利用模块启动,漏洞利用模块运行之后,释放加密器和解密器,启动攻击线程,随机生成ip地址,攻击全球。加密器启动之后,加密指定类型的文件。文件全部加密之后,启动解密器。解密器启动之后,设置桌面背景显示勒索信息,弹出窗口 显示付款账号和勒索信。威胁用户指定时间内不付款文件无法恢复。
...
Vsyscall系统调用
Vsyscall系统调用前言我们知道,在开启了ASLR的系统上运行PIE程序,就意味着所有的地址都是随机化的。然而在某些版本的系统中这个结论并不成立,原因是存在着一个神奇的vsyscall。但是vsyscall仅在部分linux发行版本中可用,如Ubuntu16.04。vsyscall在内核中实现,无法用docker模拟,因此任何与vsyscall相关的实验都改成在Ubuntu 16.04进行。
Vsyscall由于一般的系统调用如果想要向内核传递一些参数的话,为了保证用户态和内核态的数据隔离,往往需要把当前寄存器状态先保存好,然后切换到内核状态,当执行完后还需要恢复寄存器的状态,而这中间就会产生大量的系统开销。因此为了解决这个问题,linux系统会将仅从内核里面读取数据的syscall单独列出来进行优化,如gettimeofday,time,getcpu。而其地址也将是固定的,原型如下:
1#define VSYSCALL_ADDR (-1UL << 20)
通过这段代码可以确定这部分是固定的,也就是ffffffffff600000。
而如果将Vsyscall的内存页d ...
vmware因为异常关闭导致的被另一个程序锁定解决办法
vmware因为异常关闭导致的被另一个程序锁定解决办法起因虚拟机关不掉,我直接重启电脑,重启后就变成这样了
原因.lck文件是VMWare软件的一种磁盘锁文件,由于虚拟磁盘(.vmdk)本身有一个磁盘保护机制,为了防止多台虚拟机同时访问同一个虚拟磁盘(.vmdk)带来的数据丢失和性能削减方面的隐患,每次启动虚拟机的时候虚拟机会使用扩展名为.lck(磁盘锁)文件对虚拟磁盘(.vmdk)进行锁定保护。当虚拟机关闭时.lck(磁盘锁)文件自动删除。可能由于各种非正常关闭虚拟机,而虚拟机还没来得及删除系统上的.lck(磁盘锁)文件,所以当下次启动虚拟机的时候出现了报错信息。
解决方法先删除Ubuntu 64 位-000002.vmdk.lck,启动虚拟机试试
发现可以进来了
结论:删除最近的.lck文件夹就好了
VIM使用教程
vim使用教程一,什么是 vim?Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
简单的来说, vi 是老式的字处理器,不过功能已经很齐全了,但是还是有可以进步的地方。 vim 则可以说是程序开发者的一项很好用的工具。
连 vim 的官方网站 自己也说 vim 是一个程序开发工具而不是文字处理软件。
vi/vim 按键说明除了上面简易范例的 i, Esc, :wq 之外,其实 vim 还有非常多的按键可以使用。
第一部分:一般模式可用的光标移动、复制粘贴、搜索替换等
移动光标的方法
h 或 向左箭头键(←)
光标向左移动一个字符
j 或 向下箭头键(↓)
光标向下移动一个字符
k 或 向上箭头键(↑)
光标向上移动一个字符
l 或 向右箭头键(→)
光标向右移动一个字符
如果你将右手放在键盘上的话,你会发现 hjkl 是排列在一起的,因此可以使用这四个按钮来移动光标。 如果想要进行多次移动的话,例如向下移动 30 行,可以使用 “30j” 或 “30↓” 的组合按键, 亦即加 ...
VEH syscall 免杀分析
VEH syscall 免杀分析前言项目地址
1https://github.com/coleak2021/vehsyscall
VEH syscall免杀的VEH syscall技术主要用于绕过安全软件的检测机制。这种技术通过异常处理和系统底层调用的特殊手段,达到执行代码同时隐蔽其行为的目的。了解其作用、为什么需要这样绕过,以及对应的杀毒软件检测机制,可以帮助我们更好地理解现代恶意软件和高级持续性威胁(APT)的防御和检测策略。
免杀的VEH syscall的作用
执行隐藏的系统调用:通过直接在底层进行系统调用,可以避免使用标准的API调用方式,这些API调用是杀毒软件常用的监控点。
异常控制流修改:VEH允许在异常发生时修改程序的执行流程。恶意软件可以利用这一点,在异常处理代码中插入恶意行为,而这部分代码在正常执行流中可能不会被触及。
动态行为执行:通过VEH和syscall,恶意软件可以根据执行时的环境和上下文动态地调整其行为,这使得静态分析变得更加困难。
为什么需要绕过安全检测恶意软件作者需要绕过安全检测,以保证软件能够在受害者机器上成功执行,从而:
持久化:避免被杀毒软 ...
V8-通用利用链
V8-通用利用链首先需要明确的是,通过 v8 漏洞,我们需要达成什么样的目的?
一般在做 CTF 的时候,往往希望让远程执行 system(“/bin/sh”) 或者 execve(“/bin/sh”,0,0) 又或者 ORW ,除了最后一个外,往往一般是希望能够做到远程命令执行,所以一般通过 v8 漏洞也希望能够做到这一点。一般来说,我们希望能往里面写入shellcode,毕竟栈溢出之类的操作在 v8 下似乎不太可能完成。
WASM的利用既然要写 shellcode,就需要保证内存中存在可读可写可执行的内存段了。在没有特殊需求的情况下,程序不可能特地开辟一块这样的内存段供用户使用,但在如今支持 WASM(WebAssembly) 的浏览器版本中,一般都需要开辟一块这样的内存用以执行汇编指令,回想上一节给出的测试代码:
123456789%SystemBreak();var wasmCode = new Uint8Array([0,97,115,109,1,0,0,0,1,133,128,128,128,0,1,96,0,1,127,3,130, ...
usrincludestdio.h2710 fatal error bitslibc-header-start.h No such file or directory 报错解决
/usr/include/stdio.h:27:10: fatal error: bits/libc-header-start.h: No such file or directory 报错解决在64位系统上编译32位`可执行程序的命令如下所示:
1gcc -m32 -o testAlign32 testAlign.c
结果提示出错,提示没有bits/libc-header-start.h文件,如下图所示:
这是由于缺少相应的32位库文件导致的。解决方法如下所示:
12sudo apt-get install gcc-multilib1
之后,再次在64位平台上编译32位应用程序,即可编译通过。
Unsorted Bin Attack
Unsorted Bin Attack概述Unsorted Bin Attack,顾名思义,该攻击与 Glibc 堆管理中的的 Unsorted Bin 的机制紧密相关。
Unsorted Bin Attack 被利用的前提是控制 Unsorted Bin Chunk 的 bk 指针。
Unsorted Bin Attack 可以达到的效果是实现修改任意地址值为一个较大的数值。
Unsorted Bin 回顾在介绍 Unsorted Bin 攻击前,可以先回顾一下 Unsorted Bin 的基本来源以及基本使用情况。
基本来源
当一个较大的 chunk 被分割成两半后,如果剩下的部分大于 MINSIZE,就会被放到 unsorted bin 中。
释放一个不属于 fast bin 的 chunk,并且该 chunk 不和 top chunk 紧邻时,该 chunk 会被首先放到 unsorted bin 中。关于 top chunk 的解释,请参考下面的介绍。
当进行 malloc_consolidate 时,可能会把合并后的 chunk 放到 unsorted bin 中,如果不是 ...
Unlink
Unlink原理我们在利用 unlink 所造成的漏洞时,其实就是对 chunk 进行内存布局,然后借助 unlink 操作来达成修改指针的效果。
我们先来简单回顾一下 unlink 的目的与过程,其目的是把一个双向链表中的空闲块拿出来(例如 free 时和目前物理相邻的 free chunk 进行合并)。其基本的过程如下
下面我们首先介绍一下 unlink 最初没有防护时的利用方法,然后介绍目前利用 unlink 的方式。
ubuntu国内镜像源文件
ubuntu国内镜像源文件中国科学技术大学 http://mirrors.ustc.edu.cn/ubuntu-releases/16.04/
阿里云 http://mirrors.aliyun.com/ubuntu-releases/16.04/
兰州大学 http://mirror.lzu.edu.cn/ubuntu-releases/16.04/
北理工 http://mirror.bit.edu.cn/ubuntu-releases/16.04/
浙大 http://mirrors.zju.edu.cn/ubuntu-releases/16.04/
清华镜像源 https://mirrors.tuna.tsinghua.edu.cn/ubuntu-releases/



