VEH syscall 免杀分析
VEH syscall 免杀分析前言项目地址
1https://github.com/coleak2021/vehsyscall
VEH syscall免杀的VEH syscall技术主要用于绕过安全软件的检测机制。这种技术通过异常处理和系统底层调用的特殊手段,达到执行代码同时隐蔽其行为的目的。了解其作用、为什么需要这样绕过,以及对应的杀毒软件检测机制,可以帮助我们更好地理解现代恶意软件和高级持续性威胁(APT)的防御和检测策略。
免杀的VEH syscall的作用
执行隐藏的系统调用:通过直接在底层进行系统调用,可以避免使用标准的API调用方式,这些API调用是杀毒软件常用的监控点。
异常控制流修改:VEH允许在异常发生时修改程序的执行流程。恶意软件可以利用这一点,在异常处理代码中插入恶意行为,而这部分代码在正常执行流中可能不会被触及。
动态行为执行:通过VEH和syscall,恶意软件可以根据执行时的环境和上下文动态地调整其行为,这使得静态分析变得更加困难。
为什么需要绕过安全检测恶意软件作者需要绕过安全检测,以保证软件能够在受害者机器上成功执行,从而:
持久化:避免被杀毒软 ...
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/
Ubuntu20.04搭建docker
Ubuntu20.04搭建docker1.安装软件源
1sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
2.导入源仓库的 GPG key
1curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
3.将 Docker APT 软件源添加到你的系统
1sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
4.更新源软件包
1sudo apt update
5.安装最新版docker
1sudo apt install docker-ce docker-ce-cli containerd.io
6.查看docker状态
1systemctl status d ...
Ubuntu20.04如何更换国内源
Ubuntu20.04如何更换国内源1.打开终端。
2.输入以下命令备份原来的源。
1sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
3.再输入以下命令打开sources.list配置文件更换源。
1sudo vim /etc/apt/sources.list
配置内容如下 清华大学源
1234567891011121314# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiversedeb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricte ...
Typora写公式
Typora写公式公式块与行内公式的添加1.公式块
创建独立的一块公式区域。
上部分为公式输入区
下部分为效果展示区
编辑别处时展示效果图。
方法一:左上角点击“段落”,再点击“公式块”
方法一:在文中输入$$,再按下回车
2.行内公式
将公式嵌入文字内。
方法一: 在$$的中间加入需要的公式
简便的方法一:先按 $ ,再按 “esc”(键盘左上角)
(行内公式是需要先设置一下)
常用符号的代码
上下标,正负无穷
加减乘,分式,根号,省略号
三角函数
矢量,累加累乘,极限
希腊字母
1.上下标,正负无穷
2.加减乘,分式,根号,省略号
3.三角函数
4.矢量,累加累乘,极限
5.希腊字母
6.关系运算符
矩阵1.简单矩阵使用\begin{matrix}…\end{matrix}生成, 每一行以\\结尾表示换行,元素间以&间隔,式子的表示序号\tag{1}(右边的序号)。
1234567 $$\begin{matrix} 1 & 2 & 3 \\ 4 & 5 ...
TP-link Smart Home Router 命令注入漏洞
TP-link Smart Home Router 命令注入漏洞前言查阅相关资料可知,TDDP协议(TP-LINK Device Debug Protocol) 是TP-LINK申请了专利的一种在UPD通信的基础上设计的协议,而Google安全专家Matthew Garrett在TP-Link SR20设备上的TDDP协议文件中发现了一处可造成 “允许来自本地网络连接的任意命令执行” 的漏洞。
前置知识TP-link SR20 设备运行V1版本的TDDP,而TDDP的V1版本不会验证身份,因此在向SR20的UDP 1040端口发送数据的时候,SR20都会接受并进行处理
目前TDDP有两个版本,分别是v1和v2。其中,v1版本不支持身份验证和对数据包荷载的加密,而v2版本则要求身份验证和对数据包荷载进行加密
TDDP数据格式
一排四个字节,于是我们可以知道真正的数据需要12个字节 ...
Tmux使用教程
Tmux使用教程一、Tmux 是什么?1.1 会话与进程命令行的典型使用方式是,打开一个终端窗口(terminal window,以下简称”窗口”),在里面输入命令。用户与计算机的这种临时的交互,称为一次”会话”(session) 。
会话的一个重要特点是,窗口与其中启动的进程是连在一起的。打开窗口,会话开始;关闭窗口,会话结束,会话内部的进程也会随之终止,不管有没有运行完。
一个典型的例子就是,SSH 登录远程计算机,打开一个远程窗口执行命令。这时,网络突然断线,再次登录的时候,是找不回上一次执行的命令的。因为上一次 SSH 会话已经终止了,里面的进程也随之消失了。
为了解决这个问题,会话与窗口可以”解绑”:窗口关闭时,会话并不终止,而是继续运行,等到以后需要的时候,再让会话”绑定”其他窗口。
1.2 Tmux 的作用Tmux 就是会话与窗口的”解绑”工具,将它们彻底分离。
(1)它允许在单个窗口中,同时访问多个会话。这对于同时运行多个命令行程序很有用。
(2) 它可以让新窗口”接入”已经存在的会话。
(3)它允许每个会话有多个连接窗口,因此可以多人实时共享会话。
(4)它还支持窗 ...