본문 바로가기

system

modern memory safety #1 보호되어 있는 글입니다. 더보기
docker 간단한 사용법 정리 docker docker 사용법docker 설치​xcurl -s https://get.docker.com | sudo sh docker 컨테이너 사용image 다운받기xxxxxxxxxxsudo docker pull ubuntu:latest다운받은 image 확인xxxxxxxxxxsudo docker imagesdocker run 옵션xxxxxxxxxx-d detached mode 흔히 말하는 백그라운드 모드-p 호스트와 컨테이너의 포트를 연결 (포워딩)-v 호스트와 컨테이너의 디렉토리를 연결 (마운트)-e 컨테이너 내에서 사용할 환경변수 설정–name 컨테이너 이름 설정–rm 프로세스 종료시 컨테이너 자동 제거-it -i와 -t를 동시에 사용한 것으로 터미널 입력을 위한 옵션–link 컨테이너 연결 [컨.. 더보기
root-me mips stack buffer overflow 보호되어 있는 글입니다. 더보기
mips 쉘코드 작성 mips 쉘코드 작성 mips 쉘코드 작성다른 아키텍처와 마찬가지로 mips 아키텍처에도 syscall instruction이 존재한다.이를 이용해 원하는 함수를 부를 수 있으며, intel에서 eax를 mips에서 v0으로 간주하고 작성하면 편하다.(실제로 함수의 리턴 값도 v0으로 넘어온다.) mips의 syscall number는 아래 링크에서 확인이 가능하다.http://syscalls.kernelgrok.com/ mips는 __NR_Linux 변수에 의해 4000 ~ 4999 range의 syscall number를 가진다. execve 쉘코드를 작성하기에 앞서, hello Mips!를 출력해주는 어셈블리 코드를 작성해 보자.#include ​void main(){ printf("Hello Mi.. 더보기
qemu 설치 및 mips 셋팅 qemu 설치 및 mips 셋팅 qemu 설치 및 mips 셋팅qemu가 뭐냐면 간단하게 linux에서 가상 머신을 만들어주는 애라고 생각하면 됩니다. qemu 설치xxxxxxxxxxsudo apt-get install qemu-kvm qemu따로 관리 매니저까지 설치해주고 싶다면xxxxxxxxxxsudo apt-get install qemu-kvm qemu virt-manager virt-viewer libvirt-bin mips 셋팅xxxxxxxxxxwget https://people.debian.org/~aurel32/qemu/mipsel/debian_wheezy_mipsel_standard.qcow2wget https://people.debian.org/~aurel32/qemu/mipsel/vml.. 더보기
peda-arm, peda-mips peda-arm, peda-mips peda-arm, peda-mips요즘 arm과 mips 아키텍처를 공부하고있어서, 환경 설정을 마치고 툴을 좀 봤는데 이 두개가 peda 그 뭐지 어쨋든 peda와 굉장히 흡사하게 만들어진 arm, mips 전용 아 생각났다 extension이더라구요. 블로그에 기록을 해둘까 싶어 글 올립니다. peda-arm아직 써보진 않았는데 peda-mips와 흡사할 것 같음.아래 git에서 다운받을 수 있다.https://github.com/alset0326/peda-arm peda-mips한번 써봤는데 굉장히 좋다.아래 git에서 다운받을 수 있다.https://github.com/mutepigz/peda-mips peda와 흡사하게 vmmap, ropgadget, rops.. 더보기
arm, mips 크로스 컴파일링 및 디버깅 arm, mips cross compiling and debugging ubuntu 18.04 이상 버전으로 해주세요. apt repository 관련 문제로 이하 버전이 설치되어 오류가 많이 발생합니다.. gcc install with many arch sudo apt-get install gcc-7-multilib-arm-linux-gnueabi -y;sudo apt-get install gcc-7-multilib-arm-linux-gnueabihf -y;sudo apt-get install gcc-7-multilib-mips64el-linux-gnuabi64 -y;sudo apt-get install gcc-7-multilib-mips64-linux-gnuabi64 -y;sudo apt-get in.. 더보기
2019 securinet baby_two baby_two 2019 securinet baby_two간단한 overflow고 leak이 없을 뿐이라서 4bit brute forcing으로 풀 수 있을 것 같았지만 아니었다. stack boundary가 적용되어 있어 boundary value뒤 1바이트를 brute forcing하여 내 payload를 향하게 하면 된다. 그 후 남은 것은 간단하다.bss에 payload를 입력받은 후 boundary value에 bss를 넣고 setvbuf를 puts로 바꾼 뒤 leak 후 쉘을 얻으면 된다. 시간도 없고 서버도 느리고 해서 클라쪽에서만 땃는데 있다가 다시 해봐야겠다.사람들이 늦게 푼 이유가 있네.. ** 2019-11-07 ret2dl 이용한 라업 추가 from pwn import *​#cont.. 더보기