免杀的几种方式
免杀的几种方式lnk钓鱼前言
lnk钓鱼方式很多,千奇百怪,这本身也是社工的其中一种,这里我们就简单说一下吧,lnk文件是Windows操作系统中的快捷方式文件,可以用来快速打开程序或文件夹。钓鱼原理是指黑客利用lnk文件的特性,制作一个看似正常的快捷方式文件,但实际上会执行恶意代码或链接,从而诱使用户点击并暴露个人信息或系统受到攻击。黑客可能会通过社会工程学手段诱导用户点击这些恶意lnk文件,从而实施钓鱼攻击
这里我们使用很简单分方式给大家说演示一下
这里可以看到我们把目标修改成了我们白加黑所在的位置,起始位置修改为白exe所在的文件夹里,我们这里使用现成的lnk,当然也可以自己生成一个,或者使用代码生成一个。
这里是自己去生成一个
这里是使用代码去生成一个快捷方式(指定目标和快捷方式生成在那个位置上去)接着我们运行一下这个快捷方式
也是成功上线了。当然这肯定不行,我们是xmind的图标但是没有打开xmind会被怀疑,我们可以使用vbs(脚本文件),将快捷方式的目标路径写为vbs文件。
这里我们就可以利用这个方式,先打开ximnd程序然后再睡10分钟,在打开我们的白文件或者 ...
免杀断链
免杀断链前言在这篇文章中我们介绍PEB断链(R3层和R0层)
R3层隐藏模块
首先我们介绍一下PEB断链,相信各位读者大大对PEB这个结构体可以说相当熟悉了,这里我们简单描述一下,做一个介绍
在开始使用TEB/PEB 获取进程的模块信息之前,我想有必要解释一下这两个名词:PEB 指的是进程环境块(Process Environment Block),用于存储进程状态信息和进程所需的各种数据。每个进程都有一个对应的 PEB 结构体。TEB 指的是线程环境块(Thread Environment Block),用于存储线程状态信息和线程所需的各种数据。每个线程同样都有一个对应的 TEB 结构体。
PEB 中包含了进程的代码、数据段指针、进程的环境变量、进程启动参数信息以及加载的模块信息等。在 x86-32 体系下,FS 段寄存器偏移 0x30 处存放了索引,索引查找的指针指向当前进程的 PEB 结构体,在 x86-64 下该指针位于 FS 段寄存器偏移 0x60 处。其他进程可以通过访问自己的 PEB 结构体来获取自己的状态和信息。
TEB 中包含了线程的堆栈指针、TLS(线程本 ...
修复路由器程序运行环境+远程调试
修复路由器程序运行环境+远程调试前言当搭建好了QEMU环境后,就会想到运行路由器中的程序(如路由器中的web服务器),但可能会遇到路由器相关硬件模块缺失导致应用程序启动失败的情况
本文将以D-Link DIR-605L(FW_113)路由器中的web应用程序boa为例子。
修复路由器程序的执行流程大致如下。
运行程序,定位导致程序异常的函数
分析导致异常的函数,编写一个具有相同功能的函数,在函数中伪造执行流程和数据,并将编写的函数封装成一个新的动态库
使用LD_PRELOAD 环境变量加载新的动态库来劫持目标程序中的异常函数,使目标程序执行动态库中的函数
固件分析首先下载固件
使用binwalk提取固件中的文件系统,然后提取/bin/boa文件到桌面
1234iot@research:~/Desktop/DIR/DIR605/DIR-605L_FIRMWARE_1.13$ binwalk -Me dir605L_FW_113.bin iot@research:~/Desktop/DIR/DIR605/DIR-605L_FIRMWARE_1.13$ ls dir6 ...
侧信道爆破二分法
侧信道爆破二分法前言在经过一段时间的休息后,总算有时间开始搞ctf了,把以前没有完成的任务完成一下,并记录。
vim优化方案
侧信道二分法爆破
Vim优化方案在复现网上的相对应的题目时,由于没有原本的文件,按照对应思路写了一个文件,顺便优化了一下vim
用的是vim-plug加各种小插件的方案
gruvbox
nerdtree
vim-airline
首先安装vim-plug
https://github.com/junegunn/vim-plug这是地址
12curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
发现需要科学上网,但是我的虚拟机不知道为什么无法科学上网,可能是配置的问题,有其他解决办法我就没有深究。
于是使用第二种办法
123git clone https://gitee.com/S_rui/vim-plug.gitcp ./vim-plug/plug. ...
伪造 vtable 劫持程序流程
伪造 vtable 劫持程序流程简介前面我们介绍了 Linux 中文件流的特性(FILE),我们可以得知 Linux 中的一些常见的 IO 操作函数都需要经过 FILE 结构进行处理。尤其是_IO_FILE_plus 结构中存在 vtable,一些函数会取出 vtable 中的指针进行调用。
因此伪造 vtable 劫持程序流程的中心思想就是针对_IO_FILE_plus 的 vtable 动手脚,通过把 vtable 指向我们控制的内存,并在其中布置函数指针来实现。
因此 vtable 劫持分为两种,一种是直接改写 vtable 中的函数指针,通过任意地址写就可以实现。另一种是覆盖 vtable 的指针指向我们控制的内存,然后在其中布置函数指针。
实践这里演示了修改 vtable 中的指针,首先需要知道_IO_FILE_plus 位于哪里,对于 fopen 的情况下是位于堆内存,对于 stdin\stdout\stderr 是位于 libc.so 中。
1234567891011int main(void){ FILE *fp; long long *vtabl ...
以太坊智能合约Call注入攻击
以太坊智能合约Call注入攻击前言该文章只是对网上现有的文章进行整理,不具备原创性,相关引用都会在文章末尾进行标注
0x00 基础知识以太坊中跨合约调用是指的合约调用另外一个合约方法的方式。为了好理解整个调用的过程,我们可以简单将调用发起方合约当做传统web世界的浏览器,被调用的合约看作webserver,而调用的msg则是http数据,EVM底层通过ABI规范来解码参数,获取方法选择器,然后执行对应的合约代码。
当然,实际上智能合约的执行一般在打包交易或者验证交易的时候发生,上面的比喻只是方便理解。
在solidity语言中,我们可以通过call方法来实现对某个合约或者本地合约的某个方法进行调用。
调用的方式大致如下:
12<address>.call(方法选择器, arg1, arg2, …) <address>.call(bytes)
如上所述,可以通过传递参数的方式,将方法选择器、参数进行传递,也可以直接传入一个字节数组,当然要自己去构造msg.data的结构。
Solidity编程中,一般跨合约调用执行方都会使用msg.sender全局变量来获取 ...
代理配置
代理配置前言为了使我更了解一下代理,然后还有方便后面配置代理,这里写一下代理配置的方法,主要也是为了使虚拟机也能够科学上网
0x0 unbuntu0x0.0 系统代理设置我们将在/etc/profile.d/proxy.sh下添加一个shell脚本文件,这将确保设置适用于所有已登录的用户:
1sudo vim /etc/profile.d/proxy.sh
将以下内容写到文档中:
12345678910111213# set proxy config via profie.d - should apply for all usersexport http_proxy="http://10.10.1.10:8080/"export https_proxy="http://10.10.1.10:8080/"export ftp_proxy="http://10.10.1.10:8080/"export no_proxy="127.0.0.1,localhost"# For cu ...
什么是零信任网络
什么是零信任网络什么是零信任?「零信任」既不是技术也不是产品,而是一种安全理念。根据 NIST《零信任架构标准》中的定义: 「零信任(Zero Trust)」提供了一系列概念和思想,假定网络环境已经被攻陷,在执行信息系统和服务中的每次访问请求时,降低其决策准确度的不确定性。零信任架构(ZTA)则是一种企业网络安全的规划,它基于零信任理念,围绕其组件关系、工作流规划与访问策略构建而成。
零信任的策略简单来讲,「零信任」的策略就是「不相信任何人」,除非明确接入者身份,否则将无法通过验证,进行下一步操作。传统的访问验证方式只需要知道 IP 地址或主机信息,便可通过验证,而如今零信任的验证模型,需要更清晰、更明确的信息才准许通过,如若不清楚用户身份、访问来源、授权途径等信息,访问请求则会被立即拒绝。
零信任的主流技术从技术视角划分,零信任的主流技术分为三种:即 SIM:S 为 SDP(Software Defined Perimeter, 软件定义边界)、I 为 IAM(Identity and Access Management,身份识别与访问管理系统),M 为 MSG(Micro-Segm ...
什么是UART通信?常见的UART串口通信协议有哪些?
什么是UART通信?常见的UART串口通信协议有哪些?一、什么是UART?通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART。UART是一种通用串行数据总线,主要应用于串行异步通信。这样的通用串行数据总线属于双向通信,可以实现全双工传输和接收。它将要传输的资料和数据在串行通信与并行通信之间加以转换。作为可以把并行输入信号转化成串行输出信号的集成芯片,[UART串口通信]通常被应用于元器件集成或其他通讯接口的链接。具体实物化表现为一些独立的UART串口通信模块,或作为集成于微处理器中的一些周边固化设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。
二、UART无线串口模块通信使用的引脚接口在UART串口通信中,两个UART模块是可以直接进行相互通信的。发送UART将来自CPU(核心处理器)等控制设备的并行数据转换为串行数据形式,并将将转换得到的串行数据发送到接收的UART,接收UART然后又将串行数据转换回到接收设备的并行数据。数 ...
人工智能概述
人工智能概述概述
“ 人工智能(英语:artificial intelligence,缩写为 AI )亦称 机器智能 ,指由人制造出来的机器所表现出来的智能。通常人工智能是指通过普通计算机程序来呈现人类智能的技术。该词也指出研究这样的智能系统是否能够实现,以及如何实现。同时,通过医学、神经科学、机器人学及统计学等的进步,常态预测则认为人类的很多职业也逐渐被其取代。”–维基百科
人工智能这个词的出现最早可以追溯至1956年的达特茅斯会议。1956年8月,在美国汉诺斯小镇的达特茅斯学院,以约翰·麦卡锡(John McCarthy)、马文·明斯基(Marvin Minsky)、克劳德·香农(Claude Shannon)、艾伦·纽厄尔(Allen Newell)、赫伯特·西蒙(Herbert Simon)等为首的科学家们相聚在一起,讨论如何让机器模拟人类的学习能力,并在此次会议中正式提出了“人工智能”这个概念。
事实上,直到现在人工智能都没有一个非常明确且统一的定义。如果让我用一两句话来描述,我会说:“让机器明白人类的世界,或者我的意思是,让思想可以被数学描述。”(哦我的上帝这该死的翻译 ...



