Go AST 浅析与CTF中的实战运用

Mas0n / 2022-09-15

在前段时间的网鼎杯某赛道中遇到了一个题,通过混淆的go源码分析各类函数调用、定义信息。但由于题目本身要求获得的信息过于简单,有不少人直接暴力搜索来解决。但当我们遇到更为复杂,更为巨大的混淆代码时,IDE所提供的简单分析功能也就无能为力了。这也就是我写下这篇文章的原因。

dpt-shell抽取壳项目源码及其逆向分析

syj / 2022-09-07

由于前段时间网鼎杯一道Android题目中用了这个,具有一定研究价值,便做一个壳的实现分析
https://github.com/luoyesiqiu/dpt-shell
其实这个是一个假的抽取壳,虽然函数抽取壳确实是将dex文件中的函数代码给nop,然后在运行时再把字节码给填回,但是不会填回内存中原dex位置,是填回内存中的一个解析后的结构体,比如梆梆加固,普通的工具是dump不到dex的。
虽然但是,能写出这个的也足以说明作者对Android的了解。即使作者也有howtowork文档去解释如何实现的,但是很多都被省略掉,这里做个源码分析,许多抽取壳也有类似的操作。

The Poor Man's Obfuscator

syj / 2022-08-11

影响或阻碍 IDA、BinaryNinja、Ghidra 和 Radare2 等反汇编工具的 ELF 或 Mach-O 修改。

不会修改汇编代码或二进制数据。重点是修改可执行文件格式的一些结构,比如节区和符号。

所有修改均基于LIEF,一个用于解析和修改可执行文件格式的库。

R

从 data 段中加载 PE Executable —— 2022-蓝帽杯-Reverse-Loader Writeup

r4ve1 / 2022-07-14

这题名为 Loader,其本质也是从 .data 段中加载了程序的主要逻辑并运行,使用了无文件 PE 文件加载的相关技术。

因为这道题没加反调试等 check,所以比赛时我只是略扫了一下 load 的部分,主要精力都放在关键逻辑上了。但其实这题 loader 部分的 assembly 写得很有意思,于是赛后我又着重分析了一下相关部分的代码。

R

神奇的 C++ 模板 —— 2022-ACTF-Nagi-Knows Writeup

r4ve1 / 2022-07-06

很新颖的一道题目,比赛时花了将近一整天的时间做了出来(没抢到血 qaq,带哥们太猛了)。虽然 XCTF 的分站赛主办方都会公布 writeup,但还是很想记录并顺手分享一下我自己在解这道题目时的整个思考过程。尤其是这几年 CTF 中逆向方向其实已经把

L

浅谈pyd文件逆向

l1nk / 2022-06-29

.pyd 文件本质上是一个包含 Python 代码的库文件,可以被其他 Python 应用程序调用和使用。 通过使用Cython编译器,可以快速得把python文件打包为一个动态链接库,这个动态链接库也就是pydpyd相较于python源码本身可读性大大下降,很多人处于类似混淆得目的,也会使用这种形式对python代码进行保护

PE文件结构从初识到简单shellcode注入

gcker / 2022-04-22

将自己学习的PE文件结构进行总结形成文章这件事情,一直躺在我的Notion TodoList里,但是一直是未完成的状态哈哈,拖了那么久也该让它状态变成已完成了。

T

Exploit Development: Browser Exploitation on Windows - CVE-2019-0567, A Microsoft Edge Type Confusion Vulnerability (Part 2) (译文)

tang2019 / 2022-04-20

在第一篇文章中,我们介绍了ChakraCore exploit的开发环境,考察了JavaScript(更具体地说,Chakra/ChakraCore引擎)是如何管理内存中的动态对象的,并分析了CVE-2019-0567漏洞——它是一个影响基于Chakra引擎的Microsoft Edge和ChakraCore的类型混淆漏洞。在本文中,我们将为读者介绍该漏洞的概念验证脚本,该脚本能够利用类型混淆漏洞让Edge和ChakraCore发生崩溃,进而将其转换为一个读/写原语。然后,该原语将被用来获得针对ChakraCore和ChakraCore shell(ch.exe)的代码执行,而ChakraCore shell本质上就是一个允许执行JavaScript代码的命令行JavaScript shell。就本文来说,我们可以把ch.exe看作是Microsoft Edge,但没有提供可视化功能。接下来,在第三篇文章中,我们将把这里介绍的exploit移植到Microsoft Edge上,以获得完整的代码执行。

bpf,ebpf一些原理以及逆向基于libbpf-bootstrap编写的bpf文件

syj / 2022-04-19

BPF 的全称是 Berkeley Packet Filter,是一个用于过滤(filter)网络报文(packet)的架构。(例如tcpdump),目前称为Cbpf(Classical bpf)。BPF 在数据包过滤上引入了两大革新:

  • 一个新的虚拟机 (VM) 设计,可以有效地工作在基于寄存器结构的 CPU 之上;
  • 应用程序使用缓存只复制与过滤数据包相关的数据,不会复制数据包的所有信息。这样可以最大程度地减少BPF 处理的数据;

由于这些巨大的改进,所有的 Unix 系统都选择采用 BPF 作为网络数据包过滤技术,直到今天,许多 Unix 内核的派生系统中(包括 Linux 内核)仍使用该实现。

K

SIM Hijacking(译文)

koukou / 2022-02-28

近期,“5.33亿Facebook用户的电话号码遭泄露”之类的报道占据了各大社交网络的新闻头条。实际上,早在2020年,这些泄密信息就已经被黑客出售了;只是最近这些数据被免费发布到了一个黑客论坛上,其中包括用户的手机号码以及其他相关信息。这则消息甚至催生了像https://haveibeenzucked.com这样的网站,大家可以通过它们检查自己的Facebook数据是否已经泄露。另外,大家也可以通过https://haveibeenpwned.com检查相关泄露情况。

T

我们是如何发现PBX设备的固件后门的(译文)

tang2019 / 2022-01-10

在本文中,将为读者介绍我们是如何在一个广泛使用的Auerwald电话系统中发现一个真实世界的后门的。我们不仅会详细描述通过检查固件找到后门的方法,同时,还会考察该漏洞的实际影响。

投稿

随机分类

渗透测试 文章:154 篇
Exploit 文章:40 篇
Python安全 文章:13 篇
二进制安全 文章:77 篇
SQL注入 文章:39 篇

扫码关注公众号

WeChat Offical Account QRCode

最新评论

Yukong

🐮皮

H

HHHeey

好的,谢谢师傅的解答

Article_kelp

a类中的变量secret_class_var = "secret"是在merge

H

HHHeey

secret_var = 1 def test(): pass

H

hgsmonkey

tql!!!

RSS订阅