본문 바로가기

# technic29

Windows용 AFL(American Fuzzer Lop) - winafl 윈도우용 퍼저 : https://github.com/googleprojectzero/winafl 개인적으로는 BFF보다 좋을 것 같다. 조만간 성능 테스트를 거쳐 봐야 할 것 같다. 2018. 10. 20.
백신 분석 보고서. - 1 - 컴퓨터 만질 시간이 충분치 않아 분석을 많이 해보지는 못했다. (요즘들어 나이가 있어서 그런지 밤을 잘 못새겠다..) 그래도 확실히 백신은 다른 문서 소프트웨어들과는 다른 느낌인걸 알 수 있었다. 처음에는 수동으로 모두 분석하고 있었는데, 어느 순간부턴가 IDAPython으로 분석하는게 훨 편해졌다. 스크립트를 한 번 만들 때 좀 잘 만들고 재활용 해야겠다는 생각도 많이 들고, 역시 프로그래밍 공부를 좀 더 해야겠다는 생각도.... 64비트 환경 버그헌팅은 처음이지만 스택 오버플로우 하나만 찾을 수 있기를.. 일단은 분석을 목표로 열심히 찾아봐야겠다... 아... 민간인 시절이 그립다.... + 무슨 백신인지는 언급 안해야겠다 우히히 2018. 10. 20.
z3 모든 경우의 수 from z3 import * # find hidden menu route with z3 solver. input = [BitVec("input[%d]" % i, 32) for i in range(4)] s = Solver() for i in range(4): s.add(input[i] >= 0, input[i] 2018. 9. 30.
syscall socket x86, x86-x64 가끔 문제들을 보면 file descriptor를 싹 닫는 경우가 있다. 이런 경우 socket을 통해 새로운 file descriptor를 생성해주면 된다. sys_mprotect를 사용해 실행 권한을 할당 해 reverse shellcode를 실행 시키는게 대표적이며, sys_socket, sys_connect를 사용한 srop로 직접 리버스 커넥트를 맺을 수 있다. Reverse Connect를 맺게 되면 dup2 처리를 해 stdin / stdout을 제공해준다. x86-x64 기준 sys_socket : rax - 0x29 rdx - 0x0 rsi - 0x1 rdi - 0x2 sys_connect : rax - 0x2a rdx - 0x10 rsi - ptr (ip/port) rdi - fd (s.. 2018. 9. 30.