Linux

    peda 에서 pwngdb , angelheap 플러그인 일부 동시에 적용하기

    ~/.gdbinit.py 를 아래와 같이 세팅해준다. source ~/peda/peda.py source ~/Pwngdb/pwngdb.py source ~/Pwngdb/angelheap/gdbinit.py define hook-run python import angelheap angelheap.init_angelheap() end end

    리눅스 apt 관련 문제시 조치방법

    새로 우분투 서버를 설치하고 나서 apt 관련해서 문제가 생기는 경우가 꽤나 많은데 이 사이트를 참조하여 초기 세팅을 해보자. https://www.howtoforge.com/tutorial/perfect-server-ubuntu-16.04-with-apache-php-myqsl-pureftpd-bind-postfix-doveot-and-ispconfig/ * 내용추가17버전 이후부터는 netplan이라는게 적용되어 설정 방식이 바뀌었다. 고정ip 세팅은 아래와 같이 한다, ls /sys/class/net sudo vi /etc/netplan/50-cloud-init.yaml network: ethernets: ens30: # addresses: # - 192.168.248.128/24 # gateway..

    bits/libc-header-start.h: No such file or directory 오류

    64비트 쉘코드 테스트를 위해 c 소스 작성 후 컴파일 하려는데 -m32 옵션 컴파일시 bits/libc-header-start.h: No such file or directory 오류 발생하여 컴파일 불가능. sudo apt-get install gcc-multilib g++-multilib 간편하게 문제 해결.

    [linux]C9sdk 시스템 서비스 등록하기 (systemd 등록)

    저번에 리눅스에 c9 ide를 설치해서 돌리는거까지 했었는데, 매번 쓸때마다 스크립트를 실행해줬어야 하는 번거로움 + 불편함이 있었다. 시스템 서비스(systemd)로 등록해서 백그라운드로 돌리는걸 해보자. 되게 간단한 작업인데.. 몇군데에서 오랜 삽질이 있었다. 우분투 버전 : 18.04 LTS 1. service 파일 생성 /etc/systemd/system/ 위 디렉토리에 파일을 생성해주어야 한다. 나같은경우는 아래와 같은 명령어를 실행했다. sudo vi /etc/systemd/system/c9sdk.service ( 파일 생성 완료.) 2. 파일 내용 작성 [Unit]Description=C9 IDE server [Service]Type=simpleUser=synod2ExecStart=node ..

    pwnable을 위한 Peda & pwntools 설치하기

    ( '그' 사이트들.) ctf를 비롯한 많은 대회에 나오는 pwnable문제들.이런 문제들의 풀이를 위해선 기본적인 실력도 중요하지만, 풀이를 도와주는 도구들도 필요하다. gdb의 업그레이드 버전인 gdb-peda 와 python 모듈인 pwntools 가 그것들.처음 시스템 공부를 했던 시절엔 저런 도구들 없이 그냥 gdb와 perl 스크립트, C언어 소켓, 파이썬 코드 등을 이용해 문제 풀이를 하곤 했었는데, (사실 자료조사가 많이 부족했다고 생각한다. peda가 최초 공개된게 블랙햇 2012였으니.. 근데 또 이렇게 보면 나름 최신 기술이다?)저 도구들을 가지고 다시 공부를 시작해보니 .. 정말로 기능이 강력하다는걸 단박에 깨달을 수 있었다. 이 도구들에 익숙해진다면 저것들 없이는 pwnable 풀..

    리눅스용 shellcode 테스트용 코드

    출처는 https://gist.github.com/securitytube/5318838 #include #include unsigned char code[] = "\x31\xc0\x50\x68\x6e\x2f\x73\x68\x68\x2f\x2f\x62\x69\x89\xe3\x50\x89\xe2\x53\x89\xe1\xb0\x0b\xcd\x80"; main() { printf("Shellcode Length: %d\n", strlen(code)); int (*ret)() = (int(*)())code; ret(); }컴파일할때 32비트 운영체제에서는 gcc -o shell shell.c 로 해도 되지만, 세그먼트 오류가 발생할 경우는 gcc -o shell shell.c -fno-stack-protector..

    [linux]가상머신에 설치된 우분투에 C9 ide 설치하기

    [2018.11.01 발생하는 오류들 관련 최신 수정] c9 이라는 클라우드 ide 서비스가 있다. (찬양하라.. 구름을..) 군대 2년동안 꽤나 편리하게 이용했어서 전역하고도 계속 쓰고 있었는데, 터미널 환경을 지원하는 탓에 단순 개발 플랫폼이 아니라 보안 공부를 위한 훌륭한 도구로도 사용이 가능했다. 예를 들면, sql injetcion 툴을 짤때도 ide 창에서 코딩하고 바로 아래에 띄워둔 터미널에서 실행한다던지, pwn을 할때도 터미널에서 디버깅하고 바로 위에 띄워둔 ide 창에서 페이로드를 짠다던지, ssh 환경에서는 불가능하거나 불편했던 작업들을 겁나 편리하게 할 수 있게 해주는 것이었다. 또 로컬이나 가상머신 상에서 직접 작업하는것보다는 당연히 편할꺼다. 또한 ssh 클라이언트 설치 없이도 ..