All Projects → matrix1001 → nadbg

matrix1001 / nadbg

Licence: other
👀Dynamic memory watcher/tracer/analyzer for CTF pwn

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to nadbg

kar98k public
pwn & ctf tools for windows
Stars: ✭ 24 (-52.94%)
Mutual labels:  pwn, ctf, memory-analysis
heaptrace
helps visualize heap operations for pwn and debugging
Stars: ✭ 252 (+394.12%)
Mutual labels:  debugger, pwn, ctf
Pwn Env Init
CTF PWN 做题环境一键搭建脚本
Stars: ✭ 147 (+188.24%)
Mutual labels:  pwn, ctf
Ctf
CTF write-ups and some wargame sites write-ups.
Stars: ✭ 157 (+207.84%)
Mutual labels:  pwn, ctf
House Of Corrosion
A description of the "House of Corrosion" GLIBC heap exploitation technique.
Stars: ✭ 202 (+296.08%)
Mutual labels:  pwn, ctf
One gadget
The best tool for finding one gadget RCE in libc.so.6
Stars: ✭ 1,306 (+2460.78%)
Mutual labels:  pwn, ctf
2018 Qwb Ctf
2018强网杯CTF___题目整理
Stars: ✭ 106 (+107.84%)
Mutual labels:  pwn, ctf
Build An Efficient Pwn Environment
How to build an efficient pwn development environment in 2020
Stars: ✭ 191 (+274.51%)
Mutual labels:  pwn, ctf
Libc Database
Build a database of libc offsets to simplify exploitation
Stars: ✭ 1,122 (+2100%)
Mutual labels:  pwn, ctf
ghidra2dwarf
🐉 Export ghidra decompiled code to dwarf sections inside ELF binary
Stars: ✭ 135 (+164.71%)
Mutual labels:  pwn, ctf
NTU-Computer-Security
台大 計算機安全 - Pwn 簡報、影片、作業題目與解法 - Computer Security Fall 2019 @ CSIE NTU Taiwan
Stars: ✭ 293 (+474.51%)
Mutual labels:  pwn, ctf
Ctf Pwn Tips
Here record some tips about pwn. Something is obsoleted and won't be updated. Sorry about that.
Stars: ✭ 1,249 (+2349.02%)
Mutual labels:  pwn, ctf
Pwn Sandbox
A sandbox to protect your pwn challenges being pwned in CTF AWD.
Stars: ✭ 81 (+58.82%)
Mutual labels:  pwn, ctf
Glibc All In One
🎁A convenient glibc binary and debug file downloader and source code auto builder
Stars: ✭ 145 (+184.31%)
Mutual labels:  pwn, ctf
Slides
won't maintain
Stars: ✭ 79 (+54.9%)
Mutual labels:  pwn, ctf
Exrop
Automatic ROPChain Generation
Stars: ✭ 191 (+274.51%)
Mutual labels:  pwn, ctf
Shellen
🌸 Interactive shellcoding environment to easily craft shellcodes
Stars: ✭ 799 (+1466.67%)
Mutual labels:  pwn, ctf
Write Ups
📚 VoidHack CTF write-ups
Stars: ✭ 45 (-11.76%)
Mutual labels:  pwn, ctf
Ctf All In One
CTF竞赛权威指南
Stars: ✭ 2,807 (+5403.92%)
Mutual labels:  pwn, ctf
ctf-writeups
📚 Yet another CTF writeups repository. PWN and RE tasks
Stars: ✭ 29 (-43.14%)
Mutual labels:  pwn, ctf

nadbg - Not A Debugger

nadbg is designed to analyze memory of the Linux process.

core feature

  • ptrace free
  • extensible
  • easy to use
  • heap analyze (with heapinspect)
  • blabla......

future feature

  • ASLR/PIE support
  • blabla......

usage

before you use it, execute this.

git submodule update

start this application.

python nadbg.py

use help or ? to get some help.

attach

nadbg support path, binary name, pid.

[nadbg] /bin/cat > attach /usr/bin/cat
attach /usr/bin/cat success. pid: 10696
[nadbg] /usr/bin/cat >
[nadbg]  > attach cat
attach cat success. pid: 10696
[nadbg] cat >
[nadbg]  > attach 10696
attach 10696 success. pid: 10696
[nadbg] 10696 >

memory dump

memory dump is similar to those of pwndbg.

[nadbg] /usr/bin/cat > dq 0x7fffffffe270 4
0x7fffffffe270: 0000000000000001 00007fffffffe588
0x7fffffffe280: 0000000000000000 00007fffffffe595
[nadbg] /usr/bin/cat > dd 0x7fffffffe270 4
0x7fffffffe270: 00000001 00000000 ffffe588 00007fff
[nadbg] /usr/bin/cat > db 0x7fffffffe270 16
0x7fffffffe270: 01 00 00 00 00 00 00 00 88 e5 ff ff ff 7f 00 00
[nadbg] /usr/bin/cat > ds 0x7fffffffe588 13
'/usr/bin/cat\x00'

memory search

memory search is similar to that of peda.

[nadbg] /usr/bin/cat > find /bin/cat
[0] 0x7fffffffe58c
[1] 0x7fffffffefcd
[2] 0x7fffffffefef
[nadbg] /usr/bin/cat > find 0x7fffffffe588
[0] 0x55555555f278
[1] 0x7fffffffe278

memory watch

memory watcher is designed to scan/print memory.

well, it's designed to free you from dq, dq and dq. :)

[nadbg] /usr/bin/cat > wq 0x7fffffffe278 1
[nadbg] /usr/bin/cat > ws 0x7fffffffe588 13
[nadbg] /usr/bin/cat > p
[0] 1 qword
0x7fffffffe278: 00007fffffffe588
[1] 13 str
0x7fffffffe588: '/usr/bin/cat\x00'
[nadbg] /usr/bin/cat >

also, there's a loop printer for you. by default, it has a scan interval of 1 sec. it will only print message when the watched memory changed.

[nadbg] /usr/bin/cat > print_forever
[0] 1 qword
0x7fffffffe278: 00007fffffffe588
[1] 13 str
0x7fffffffe588: '/usr/bin/cat\x00'

[0] 1 qword
0x7fffffffe278: 00007fffffffe588
[1] 13 str
0x7fffffffe588: '\xef\xbe\xad\xde/bin/cat\x00'

[0] 1 qword
0x7fffffffe278: 00007fffdeadbeef
[1] 13 str
0x7fffffffe588: '\xef\xbe\xad\xde/bin/cat\x00'

^C
KeyboardInterrupt

just use ctrl + c to stop it.

process info

just some process infomation you need to know.

info

[nadbg] cat > info
process path: /usr/bin/cat
arch: 64
libc: /usr/lib/x86_64-linux-gnu/libc-2.28.so
prog address: 0x555555554000
libc address: 0x7ffff7dec000

vmmap

[nadbg] cat > vmmap
Map("/usr/bin/cat", 0x555555554000, 0x555555556000, "r--p")
......
Map("/usr/lib/x86_64-linux-gnu/libc-2.28.so", 0x7ffff7dec000, 0x7ffff7e0e000, "r--p")
......
Map("[stack]", 0x7ffffffde000, 0x7ffffffff000, "rw-p")

canary

[nadbg] cat > canary
0x4456b914aa845400

address

[nadbg] cat > info bases
[vdso]: 0x7ffff7fd3000
libc: 0x7ffff7dec000
ld-2.28.so: 0x7ffff7fd5000
heap: 0x0
mapped: 0x7ffff7fa9000
prog: 0x555555554000
stack: 0x7ffffffde000
[vvar]: 0x7ffff7fd0000

well, heap: 0x0 means there is no heap.

heapinspect

Just use hi to print help message. Then use it.

[nadbg] /usr/bin/dash > hi heap
=========================  HeapInspect  =========================
libc_version:2.28
arch:64
tcache_enable:True
libc_base:0x7f1e68ab6000
heap_base:0x563073660000



(0x80)    entries[6] -> 0x563073660bc0
(0x210)    entries[31] -> 0x563073660c40
top: 0x563073660e40
last_remainder: 0x0
unsortedbins: None
[nadbg] /usr/bin/dash >

other?

tell me what you want. then i make one for you.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].