목록분류 전체보기 (81)
topcue
2020/21/31 수정OS : macOS Catalina (10.15.7)Sage math cell설치가 힘든 경우 웹에서 sage math cell을 사용할 수도 있다.https://sagecell.sagemath.org/Sage math on OS X다음은 PC에서 sage를 사용하는 방법이다.소스코드를 다운받아 컴파일하거나 빌드된 바이너리를 다운받아 사용하는 방법이 있다.나는 소스코드 컴파일도 해봤는데 너무 오래 걸린다.그냥 바이너리 다운받아서 쓰자.https://www.sagemath.org/download.htmlASIA → KAIST, Republic of Korea → Apple Mac OS X → intel로 이동OS X 10.14에 맞게 sage-8.9-OSX_10.14.6-x86_64..
github: https://github.com/topcue/Yacht-DiceProject커맨드 라인 인터페이스를 이용해 테트리스를 구현한 프로젝트를 보고 감명 받아 만들어 보았습니다.GUI 게임을 CLI로 구현하는 것이 가장 큰 목표입니다.터미널의 폰트가 고정폭인지 반드시 확인해주세요.추가적인 패키지 설치를 최대한 줄이고자 노력했습니다.가벼운 마음으로 진행한 토이 프로젝트입니다.convention은 PEP 8을 따르지만, 불가피하게 80글자를 넘는 줄이 있습니다.python3를 사용해주세요.ssh 등을 사용하는 경우 버벅임이 있을 수 있습니다.I was impressed by the project that implemented Tetris using the command line interface.T..
overview회사에서 과제를 하다가 파이썬으로 Curve25519 키 교환 연산을 해야할 일이 있었다.개인키와 공개키를 모두 알고 있는 상태에서 shared secret(key)을 연산하는 파이썬 코드만 필요했다.shared secret은 cocoa의 25519 Kit으로 계산되었는데, 이를 파이썬으로 구현해야했다.그런데 인터넷에 있는 대부분의 예제 코드로는 shared secret을 온전하게 계산하기 힘들다.예를 들어 이미 생성된 키를 이용해 shared secret을 계산하지 않고, 랜덤하게 키를 생성한 뒤 shared secret까지 랜덤하게 계산한다. 혹은 shared secret의 해시값만 반환하기도 한다.덕분에 curve25519관련 파이썬 패키지들을 많이 찾아보았다...그래서 파이썬을 이용..
AES CTR Set IV(counter value)회사 과제를 하다가 AES-128 CTR 모드를 복호화 할 일이 있었다.다음은 Swift와 Objective-C로 작성된 iOS Signal의 encryptDeviceName() 함수다.encryptDeviceName()// cipher_key = HmacSHA256(key=HmacSHA256(key=master_secret, “cipher”), input=synthetic_iv) let cipherKey = try computeCipherKey(masterSecret: masterSecret, syntheticIV: syntheticIV) // cipher_text = AES-CTR(key=cipher_key, input=plaintext, count..
파이썬 암호화 패키지 PyCrypto, PyCryptodome, PyCryptodomexPyCryptoPyCrypto(Python Cryptography Toolkit) 모듈은 2004년에 정식 버전이 배포된 오래된 암호화 모듈이다.하지만 pip에는 2013년 10월 18일에 마지막 버전인 pycrypto 2.6.1을 배포한 이후 더이상 업데이트되지 않고 있다.github에는 2014년 6월 20일에 마지막으로 커밋된 코드를 찾아볼 수 있다.게다가 block_templace.c의 ALGnew 함수에서 임의 코드 실행 공격이 가능한 힙 버퍼 오버플로우 취약점이 발견되어 CVE-2013-7459에 등록되었다. 이 취약점에 대한 패치를 발표하지 않고 더이상의 업데이트도 찾아 볼 수 없다.그래서 PyCrypto..
ASLR offsudo sysctl -w kernel.randomize_va_space=0-> aslr을 적용하는 범위에 따라 0, 1, 2Linux에서 메모리 보호기법을 해제하고 컴파일해야 하는 경우도 있다.gcc 컴파일 옵션gcc a.c -fno-stack-protector -mpreferred-stack-boundary=2 -z execstack -no-pie -fno-picfno-stack-protector : SSP(Stack Smashing Protector) offmpreferred-stack-boundary=x : 스택 경계를 x로 설정해 메모리를 2^x바이트 단위로 확보z execstack : Stack에서 실행 가능no-pie : pie offfno-pic : PIC 코드를 생성하지 않..
VM ESCAPE 목차 개요 분석 환경 구축(노션) 분석 PoC 참고(노션) 개요 CVE-2018-2525와 CVE-2018-2048을 분석하고 exploit 해본다. 비오비 8기 취약점분석트랙 공통교육 과정에서 신정훈 멘토님이 강의하고 과제로 내주셨다. 비오비 끝나서 다시 정리해봄. 노션에는 개요, 분석환경 구축, 분석, PoC, 참고 순서로 정리. 블로그에는 개요, 분석, PoC만 게시. 분석 CVE-2019-2525와 CVE-2019-2548를 이용해 vm을 탈출한다! CVE-2019-2525 : "crUnpackExtendGetAttribLocation" Information Disclosure CVE-2019-2548 : "crServerDispatchReadPixels" Integer over..
목차 개요 환경 구축 배경 지식 취약점 분석 exploit 작성 PoC 레퍼런스 개요 자바 스크립트 엔진 중 하나인 v8에서 발생한 취약점(CVE-2019-5791)을 분석하고 exploit 가능한 PoC 코드를 작성한다. 환경 구축 분석 환경 : 가상머신(Vmware) - Linux 16.04 아래는 취약점 패치 전인 d8 release 버전을 설치하는 과정이다. 자세한 분석을 위해서 debug 버전을 구축해도 상관 없다. git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git export PATH="$PATH:/path/to/depot_tools" fetch v8 cd v8 build/install-build-deps.sh..