반응형

Computer Science%/System 10

Fuzzing GUI applications: AbiWord

Original Article : https://blog.gypsyengineer.com/en/security/fuzzing-gui-applications-abiword.html Tip 1. batch mode 사용하기 몇 어플리케이션은 batch mode를 지원한다. 예를 들어 abiword의 경우 다음과 같은 기능을 터미널 상에서 사용할 수 있다. ch4rli3kop in [~/Desktop] 4:16:31 › abiword -help Usage: abiword [OPTION…] [FILE...] - commandline options Help Options: -h, --help Show help options --help-all Show all help options --help-gtk Show G..

라우터 취약점 분석

[BoB8_박찬희] HW#1 라우터 취약점 분석Contents : 2019년 1월 이후 펌웨어에 대해서 Bug hunting 상세 보고서Due : 01/31/2020 PM:10:00:00TargetFirmware : Taiwan, China TL-WR940N(TW)_V6_191024Date : 2019-12-25 실제 기기를 대상으로 분석을 진행하였음.Prior Analysisbinwak가장 먼저 파일 시그니처 기반의 파일 탐색 도구인 binwalk를 이용하여 해당 firmware에 대해 조사합니다.ch4rli3kop@ubuntu:~/Desktop/tp-link-taiwan-2019-12-25$ binwalk -AE wr940nv6_tw_3_18_1_up_boot\(191024\).bin ​ DECIMA..

Classic하지 않은 함수의 프롤로그와 에필로그

Classic하지 않은 함수의 프롤로그와 에필로그 가끔 바이너리를 분석하다보면 main()의 프롤로그와 에필로그 부분이 보편적으로 많이 보이는 아주 전형적인 함수의 프롤로그, 에필로그와 조금 다른 경우가 있다. (아마 x86에서만 관찰되는 듯) 전형적인 함수의 프롤로그와 에필로그push ebp mov ebp, esp ... pop ebp ret 전형적이지 않은 함수의 프롤로그와 에필로그lea ecx, [esp+0x4] and esp, 0xfffffff0 push DWORD PTR [ecx-0x4] push ebp mov ebp, esp ... pop ebp lea esp, [ecx-0x4] ret위와 같은 차이가 발생하는 이유는 스택 상에서 main() 함수의 시작을 16 bytes의 배수로 맞춰주기 위..

어쩌다보니 시작한 checksec 분석글

어쩌다보니 시작한 checksec 분석글 맨날 checksec.sh 같은 툴을 사용해서 편하게 확인하다보니 도구가 없는 이런 상황에서는 어떻게 확인해야 할 지 생각이 안났다 zzzz (반성하도록 하자.)헤더 정보를 읽어서 어떻게 알 수 있을 거 같긴 한데.. 무심결에 넘어갔던 checksec의 동작을 살펴보며 암것도 없을 때 확인할 수 있도록 공부를 해본다.코드를 살펴보니 생각보다 쉽다. 게다가 블랙펄 시큐리티 포스팅 글에 좋게 정리된 글도 존재하니 공부하기 딱 좋은 거 같다.checksec code : https://github.com/slimm609/checksec.sh/blob/master/checksec bpsec posting : https://bpsecblog.wordpress.com/2016..

입출력 버퍼 사용하기

버퍼(buffer)란? 흔히 우리가 변수로 사용하는 buffer의 origin인데, 실제 데이터가 실행 함수에 의해 입출력을 진행할 때, 바로 입력 혹은 출력이 되는 것이 아니라 버퍼(buffer)라는 공간에 저장이 된 이후에 동작하게 된다. 이는 데이터를 효율적으로 처리하기 위함인데, 매번 데이터를 처리하는 것보다 일정 크기만큼 데이터를 모아둔 뒤 처리하는 것이 CPU 사용 횟수나 메모리 접근 횟수를 줄일 수 있다.(system call file I/O와 다르게 FILE *을 이용한 file I/O는 중간 buffer를 이용하여 system call 횟수를 줄임으로써 자원을 효율적으로 사용한다.) 그러나 이러한 버퍼의 기능때문에 다양한 예기치 않은 문제를 만날 수 있는데, 대부분 버퍼가 완전히 비워지지..

커널모드와 유저모드

커널 모드와 유저 모드 윈도우는 커널 모드와 유저 모드라는 두가지 프로세서 접근 모드를 사용한다. 그 이유는 유저 어플리케이션이 운영체제의 데이터에 함부로 접근하고, 수정하지 못하도록 하기 위함인데, 우선 두가지 모드를 살펴보자. 커널 모드 : 모든 시스템 메모리와 모든 CPU 인스트럭션( CPU를 동작시키는 명령어를 말함. )에 접근이 가능한 프로세서의 실행모드를 말한다. 한마디로 관리자 권한을 가진 실행모드라고 할 수 있겠다. 커널 모드는 운영체제 코드나 디바이스 드라이버 같은 커널 모드 코드를 실행한다. CPU는 이 권한으로 코드를 실행한다. 유저 모드 : 접근할 수 있는 메모리의 영역이 유저에게 허용된 만큼으로 제한되어있어, 시스템 공간에 제한적으로밖에 접근할 수 없는 실행모드이다. 또, 하드웨어..

반응형