powerPC PWN
powerPC_PWN基本知识前言在前段时候的数据安全挑战赛有一道PPC的题,感觉并不是很难,但是卡了很久,这种题就是看你刷的题多不多,有没有这种环境和经验。所以这里来记录一下
前置知识相关内容很多,更多深入的内容还需要翻阅手册,这里就介绍一些基本的、与做题相关的内容。
PowerPC简介PowerPC(后称Performance Optimization With Enhanced RISC – Performance Computing,有时缩写为PPC)是一种精简指令集计算机(RISC)指令集架构(ISA),由 1991 年苹果-IBM-摩托罗拉联盟创建,称为AIM。PowerPC 作为一种不断发展的指令集,自 2006 年起被命名为Power ISA,而旧名称作为基于Power Architecture的处理器 的某些实现的商标继续存在。
数据类型PowerPC支持的数据类型
名称
字长(bits)
Quadwords
128
Doublewords
64
Halfwords
32
Words
16
Bytes
16
寄存器PowerPC中的寄存 ...
Plugins-IDApro
Call To ActionThis repository is quite popular and spans all versions of IDA. If you can help categorize plugins based on version, it would be much appreciated. Submit a PR!!!
A list of IDA PluginsI’ll be organizing the plugins over time. Please submit PRs if you have any other outstanding plugins. I would like to tag each plugin with its corresponding IDA version, but it will take me a long time to test. If you can help there, please do.
If a plugin is only a source repo with no description or ...
Plugins-CTF
Awesome CTFA curated list of Capture The Flag (CTF) frameworks, libraries, resources, softwares and tutorials. This list aims to help starters as well as seasoned CTF players to find everything related to CTFs at one place.
ContributingPlease take a quick look at the contribution guidelines first.
If you know a tool that isn’t present here, feel free to open a pull request.Why?It takes time to build up collection of tools used in CTF and remember them all. This repo helps to keep all these scatt ...
Parent Process ID (PPID) Spoofing免杀学习
Parent Process ID (PPID) Spoofing免杀学习0x00 前言本文主要内容如下:
ppid spoofing 的目的和原理
如何实现 ppid spoofing
检测 ppid spoofing 之 ETW 的使用
利用和检测工具
0x01 目的和原理PPID欺骗是一种允许攻击者选择任意进程启动其恶意程序的技术。这可以让攻击者的程序看起来是由另一个进程产生的,主要用于逃避基于父/子进程关系的检测。
例如,默认情况下,大多数需要用户交互启动的程序都是由explorer.exe生成的,比如我们在桌面新建一个文本文档,然后用记事本打开,效果如下图:
这里会用到 Process Explorer 或者 Process Hacker 观察进程之间的关系。
 Spoofing免杀学习/attach-db5108387d061f9da9a86625ad69435bfad6d929.png)
可以看到很明显的父子关系。explorer.exe->notep ...
Pandas-python数据处理和分析的库
Pandas-python数据处理和分析的库Pandas是Python中用于数据处理和分析的库,尤其对于大数据行业的数据清洗很有帮助。
通过带有标签的列和索引,Pandas 使我们可以以一种所有人都能理解的方式来处理数据。它可以让我们毫不费力地从诸如 csv 类型的文件中导入数据。我们可以用它快速地对数据进行复杂的转换和过滤等操作。https://github.com/loveunk/machine-learning-deep-learning-notes/tree/master/python/pandas#references)
开始使用Pandas对于使用 Python 库,第一步必然是import:
1import pandas as pd
数据类型 Data typesPandas 基于两种数据类型,series 和 dataframe。
series 是一种一维的数据类型,其中的每个元素都有各自的标签。可以当作一个由带标签的元素组成的 numpy 数组。标签可以是数字或者字符。
dataframe 是一个二维的、表格型的数据结构。Pandas 的 dataframe 可以 ...
one_gadget的安装与使用
one_gadget的安装与使用0x0 开始当有了ROP_gadget之后就会发现one_gadget也是必须的。没有ROP_gadget的赶快了。ROP_gadget 下载安装与使用one_gadget就是用来去查找动态链接库里execve(“/bin/sh”, rsp+0x70, environ)函数的地址的,专职。
one_gadget 是libc中存在的一些执行execve(“bin/sh”,NULL,NULL)的片段。当我们知道libc的版本,并且通过信息泄露得到libc的基址,就可以通过控制EIP/RIP(覆盖.got.plt或者函数的返回地址等)执行该gadget达到远程代码执行的目的。
0x1 安装12sudo apt -y install rubysudo gem install one_gadget
0x2 使用举个栗子
还是挺简单的。
off-by-one-Plaiddb
[off-by-one]–plaidctf 2015 plaiddb前言这个题做了很久,太累了,放暑假还是没得在学校学习效率高,不是不想学就是有其他的事情,准备做完这些堆题,开始转为re为主了,还是感觉PWN没什么钱途呀。
分析12345678[!] Could not populate PLT: invalid syntax (unicorn.py, line 110)[*] '/ctf/work/off_by_one/PLAiDB/PlaidDB' Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled RUNPATH: '/tmp/ld-2.23.so'
不是很妙,因为防护全开了,但不是很影响,这些防护基本上只能防护防护栈溢出,对于堆溢出基本没什么用。
tips
这里有个小知识点,因为这个这个漏洞需要用到一些基于lib2.23的性质 ...
off-by-one--Plaiddb
[off-by-one]–plaidctf 2015 plaiddb前言这个题做了很久,太累了,放暑假还是没得在学校学习效率高,不是不想学就是有其他的事情,准备做完这些堆题,开始转为re为主了,还是感觉PWN没什么钱途呀。
分析12345678[!] Could not populate PLT: invalid syntax (unicorn.py, line 110)[*] '/ctf/work/off_by_one/PLAiDB/PlaidDB' Arch: amd64-64-little RELRO: Full RELRO Stack: Canary found NX: NX enabled PIE: PIE enabled RUNPATH: '/tmp/ld-2.23.so'
不是很妙,因为防护全开了,但不是很影响,这些防护基本上只能防护防护栈溢出,对于堆溢出基本没什么用。
tips
这里有个小知识点,因为这个这个漏洞需要用到一些基于lib2.23的性质 ...
nmap使用
端口状态信息
> open :端口开启> closed :端口关闭> filtered :端口被过滤,因为报文被防火墙拦截> Unfiltered :不确定端口是否开放 没有被过滤> open|filtered(closed|filtered) :不能确定端口是否开放(关闭)或者被过滤
目标选择单个扫描:nmap ip
扫描主机:nmap www.XXXX.com
扫描一系列IP:nmap 192.168.1.1-20
扫描子网:nmap 192.168.1.1/20
从文本文件获得扫描目标:nmap -iL list-of-ips.txt
无ping扫描:常用于防火墙禁止ping的情况:nmap -P0 ip
端口选择扫描单个端口:nmap -p 端口 ip
扫描一系列端口:nmap -p 1-100 192.168.1.1
扫描100个最常见的端口(快速):nmap -F ip
扫描所有65535端口:nmap -p- ip
扫描指定端口:nmap -p 80,22,3306 ip
操作系统和服务检测检测操作系统和服务:nmap -A ip
...
NKCTF-PWN题复现
NKCTF-PWN题复现前言上周刚加入了星盟安全团队,发现自己真的有很多需要学习的,深感自己的渺小,这次NK也是一直跟着师傅们后面学习和搞misc,pwn一会就做完了,师傅们牛逼!
ez_shellcode这个题没什么意思,NOP滑行就行
123456def exploit(): li('exploit...') code = shellcraft.sh() # 同上 code = asm(code) # 同上 code = '\x90'*100+code sla("u can make it in 5 min!",code)
ez_stack以前看过一点关于SROP原理的但是没有做过这种类型的题,这也算是我的第一个SROP的题了,就是做题的经验少了,后面有个小问题没有解决,问了师傅才知道的。
想办法输入/bin/sh字符串然后调用syscall sigframe就行
这里通过syscall 调用read函数来控制rax的值,然后调用sig
还有就是这里直 ...