首页 > 其他分享 >渗透测试基础及x64dbg调试器

渗透测试基础及x64dbg调试器

时间:2024-08-10 22:24:35浏览次数:15  
标签:渗透 MOV EAX 指令 PUSH x64dbg EBX 调试器

一、实验原理

x64dbg 是一款开源且免费的 Ring 3 级动态调试器,采用 QT 编写,支持 32 / 64 位程序。其反汇编引擎 BeaEngine 和 Capstone 功能极其强大,也有丰富的插件和脚本功能,且并保持更新,目前已经基本替代了 OllDbg。

软件解压后根目录存在x96dbg, 双击 x96dbg,出现三个弹窗,会生成 x96dbg.ini 文件,里面记录着 32 位和 64位 dbg 程序的路径。当需要把整个程序文件夹移动到其他路径时,最好把这个 ini 删除,重新双击让它再生成。当需要把它加到发送到菜单中的时候,也推荐添加 x96dbg,它会自动选择用 x32 还是 x64dbg 打开。

二、X64dbg使用示例

1.熟悉x64dbg界面, 以及调试的快捷键(F7步进,F8步过)

2.加载32位测试程序,观察寄存器、内存、标志寄存器中的标志位等

3.通过操作通用寄存器EAX/EBX/ECX/EDX和MOV指令,观察OF/SF/CF/ZF的变化

4.通过操作PUSH和POP指令,观察堆栈上数据的变化

5.X86体系结构的数据存储方式(小端、大端字节序)

6.指令片段

附指令片段:

MOV EAX, 20101234      (x64dbg输入时,十六进制请加前缀0X)

MOV EBX, 70101234

ADD EAX, EBX        (观察标志位SF变化)

SF是符号标志符,结果为负,S=1,结果为正,S=0.

SF变化:0,0,1

附指令片段:

MOV EAX, 90101234      (x64dbg输入时,十六进制请加前缀0X)

MOV EBX, 80101234

ADD EAX, EBX        (观察标志位OF变化)

OF是溢出标志符,一个寄存器如果存放的值超过所能表示的范围,就是溢出,结果溢出,O=1,反之,O=0.

OF变化:0,0,1

附指令片段:

MOV EAX, E0101234      (x64dbg输入时,十六进制请加前缀0X)

MOV EBX, 60101234

ADD EAX, EBX        (观察标志位CF变化)

CF是进位标志符,无符号位运算的结果超过存储器存放的最大值,C=1,没有超过,C=0

CF变化:0,0,1

附指令片段:

MOV EAX, E0000001      (x64dbg输入时,十六进制请加前缀0X)

MOV EBX, 1FFFFFFF

ADD EAX, EBX        (观察标志位ZF变化)

ZF是0标志符,运算结果为0,Z=1,结果不是0,Z=0

ZF变化:0,0,1

通过操作PUSH和POP指令,观察堆栈上数据的变化

附指令片段:

MOV EAX, 1234      (x64dbg输入时,十六进制请加前缀0X)

MOV EBX, 5678

PUSH EAX

PUSH EBX

POP ECX         (ECX的值以及内存的存储情况,体会栈的操作)

三、总结 

1.X64dbg的调试快捷键F8含义

调试快捷键F8是步进,其含义的逐语句,就是每次执行一行语句。如果碰到函数调用,就会进入到函数里。

2.ESP的值是如何随着PUSH/POP而发生变化的

ESP:栈指针寄存器,其内存放这一个指针,改指针永远指向系统栈最上面一个栈帧的栈顶。

PUSH压栈,ESP值变小;POP出栈,ESP值变大;

3.数据的大端和小端存储方式

大端存储方式:低地址存放高字节数

小端存储方式:低地址存放低字节数

标签:渗透,MOV,EAX,指令,PUSH,x64dbg,EBX,调试器
From: https://blog.csdn.net/qq_67812668/article/details/141097081

相关文章

  • MSF及Windows渗透测试
    一、MetasploitFramework原理Metasploit是一款开源的安全漏洞检测工具,可以帮助安全和IT专业人士识别安全性问题,验证漏洞的缓解措施,并管理专家驱动的安全性进行评估,提供真正的安全风险情报。这些功能包括智能开发,代码审计,Web应用程序扫描,社会工程。团队合作,在Metasploit和综合......
  • Linux调试器-gdb的使用
    文章目录Linux调试器-gdb的使用背景使用Linux调试器-gdb的使用背景程序的发布方式有两种,debug模式和release模式Linuxgcc/g++出来的二进制文件,默认是release模式要想使用gdb调试,必须在将源程序生成二进制程序的时候加上-g使用q,ctrl+d:退出调试list/l行号......
  • 【攻防】一个关于内网渗透过程的小技巧
    在我们打攻防进行内网渗透的过程中,很多时候需要去收集内网的密码字典再对内网主机进行批量的密码喷洒。这里密码获取的手段有很多,例如:1、mimikatz抓取入口主机密码2、翻查入口主机中关于密码的文件(例如数据库密码)3、web系统的密码4、自己构造目标的密码字典(xxx@2024\xxx@2023......
  • WEB渗透Web突破篇-WAF绕过
    SQL注入分块传输https://github.com/c0ny1/chunked-coding-converter跑注入点被拦截使用分块传输,右键选择使用SQLMAP跑注入>pythonsqlmap.py-r1.txt--batch--proxy=http://127.0.0.1:8080--dbs自动提供可用的tamperAtlasGitHub-m4ll0k/At......
  • App渗透测试(APP抓包配置)
    准备工具1、burpsuite专业版2、夜神模拟器一、burp设置本地代理目标:使用BP抓取安卓模拟器中APP程序的数据包添加一个自己本机ip的代理监听器,见下图二、模拟器设置模拟器内设置修改wifi的网络代理设置,设置ip为burp内设置的ip,端口为设置的端口打开BP,下载CA证书,方便抓h......
  • Sputnik 打靶渗透
    一、信息收集1、查看靶机的MAC地址:2、查看靶机的ip地址:nmap192.168.13.0/243、查看靶机开放的端口:nmap-p--sC-sT-sV-A192.168.13.1594、分别访问靶机的8089、55555和61337端口,发现在61337端口有一个登录框:点击services和servicesNS是一个登录框5、......
  • 渗透测试实战-HFS远程RCE漏洞利用
    免责声明:文章来源于真实渗透测试,已获得授权,且关键信息已经打码处理,请勿利用文章内的相关技术从事非法测试,由于传播、利用此文所提供的信息或者工具而造成的任何直接或者间接的后果及损失,均由使用者本人负责,所产生的一切不良后果与文章作者无关。该文章仅供学习用途使用。 一......
  • 【后渗透】windows远程下载文件命令汇总
    BitsadminCertutilpowershellFTPcscriptcmdl32Mspub.exeConfigSecurityPolicy.exeInstallutilPresentationhost.exeXwizard.exe其他前言我们在渗透过程中,当获取到一个shell能够执行命令的同时,想要上线c2,就要先将文件传输到目标,并用到一些命令行中的下载命令如BIT......
  • GitHub点赞飙升!电信大牛的Python渗透测试实战指南
    在网络安全领域,会不会编程,是区分“脚本小子”和真正黑客的关键。实际的渗透测试中会遇到各种复杂的网络环境,常用工具不一定能满足需求,这时就需要对现有工具进行扩展,或者编写符合要求的工具、自动化脚本,这都需要一定的编程能力。在分秒必争的CTF竞赛中,想要高效地使用自制脚本......
  • web渗透—SSRF
    一:SSRF介绍是一种由web服务器发出请求的漏洞;它能够请求到与它相连的内网资源;通过外网服务器当作跳板请求内网资源!二:SSRF常用函数(1)file_get_contents函数//可以读取本地文件;也可以通过url读取相关远程文件<?php $data=file_get_contents('url'); echo$data;?>(2)cur......