OpenVAS 설치, 사용 방법
etc
Installation Setup 우분투에는 죽어도 안 깔리니까 삽질하지 말고 칼리에 설치하자.. sudo apt update -y sudo apt upgrade -y sudo apt dist-upgrade -y sudo apt install openvas -y sudo gvm-setup sudo gvm-setup을 실행했을 때 $ sudo gvm-setup [sudo] password for kali: [>] Starting PostgreSQL service [-] ERROR: The default PostgreSQL version (14) is not 15 that is required by libgvmd [-] ERROR: Use pg_upgradecluster to update your Postg..
[*CTF 2019 / pwnable] oob-v8
CTF
Yet another off by one$ nc 212.64.104.189 10000the v8 commits is 6dc88c191f5ecc5389dc26efa3ca0907faef3598.AttachmentSetup# install depot_toolscdgit clone https://chromium.googlesource.com/chromium/tools/depot_tools.gitecho 'export PATH=$HOME/depot_tools:$PATH' >> ~/.zshrcsource ~/.zshrc# get codecdmkdir v8cd v8fetch v8cd v8git checkout 6dc88c191f5ecc5389dc26efa3ca0907faef3598git apply oob.diffgc..
[Whitehat Conference 2024 Quals / pwnable] gf
CTF
attachmentAnalysisBSS의 src에 0xbc바이트를 입력받고 [1], stack의 dest에 0xbb바이트를 memcpy()로 복사하여 [2] stack buffer overflow가 발생한다. Canary가 없기 때문에 ROP가 가능하다.memcpy()에서 애매하게 0xbb바이트를 복사하는 이유를 알기 위해 memcpy() 이후의 stack 메모리를 보면,libc 주소의 상위 3바이트가 저장되어 있는 것을 확인할 수 있다. Libc 주소의 하위 1.5바이트는 고정이기 때문에 중간의 1.5바이트만 brute force하면 libc의 임의 주소로 한 번 return할 수 있다.ExploitationFirst attempt (failed)main()이 return하는 시점에서 rdi에 memc..
[MIT 6.S081 Fall 2020] Lab: file system
xv6
https://pdos.csail.mit.edu/6.S081/2020/labs/fs.htmlRead in GithubLarge filesstruct dinode의 addrs에서 원래 direct block 12개, indirect block 1개였던 것을 direct block 11개, indirect block 2개로 바꿔야 하므로, NDIRECT, struct dinode, struct inode의 정의를 수정한다./* kernel/fs.h */// #define NDIRECT 12#define NDIRECT 11...// On-disk inode structurestruct dinode {... // uint addrs[NDIRECT + 1]; // Data block addresses ..
[MIT 6.S081 Fall 2020] Lab: locks
xv6
https://pdos.csail.mit.edu/6.S081/2020/labs/lock.htmlRead in GithubMemory allocatorkmem을 CPU의 개수(NCPU)만큼의 element들을 갖는 배열로 수정한다./* kernel/kalloc.c */struct { struct spinlock lock; struct run *freelist;} kmem[NCPU];CPU마다 lock name을 다르게 만들어야 하므로, kmem 구조체에 lockname을 추가한다./* kernel/kalloc.c */#define LOCKNAME_MAX 0x10struct { struct spinlock lock; char lockname[LOCKNAME_MAX]; struct ..
h0meb0dy_
h0meb0dy