* Strace : 진단, 디버그 등의 목적으로 시스템 호출, 신호 전달자, 프로세스 상태의 변화를 포함하는 프로세스와 리눅스 커널 간 상호 작용을 감시하는데 사용된다. strace는 ptrace라는 커널 기능을 통해 사용될 수 있다.(다 필요 없고 그냥 디버깅 목적으로 System call 추적에 아주 용이한 툴)
* Strace 사용법 및 옵션 예시
(디버깅 목적이라 시간 정보를 조회 할 필요가 있으니 각자 Linux 시스템의 시간 정보 동기화를 선행하기를 추천하며, 필자는 Remnux에 이미 설치가 되어 있어 편하게 사용함 - Strace apt 설치 페이지 404 Not found 등의 문제로 그냥 귀찮아서 설치 되어 있는걸 씀...)
1. Binary 추적 : 실행 가능한 Binary 추적을 할 수 있음
- 명령어 형식 : strace [명령어 or 실행 가능한 파일]
2. strace -e : 조회 대상의 System call을 한정하여 출력
- 명령어 형식 : strace -e [조회를 원하는 System call] [명령어 or 실행 가능한 파일]
3. strace -e trace= : 여러 System call을 한정하여 출력
- 명령어 형식 : strace -e trace=[조회를 원하는 System call1,call2,call3 ...] [명령어 or 실행 가능한 파일]
4. strace -o : 결과를 파일에 저장
- 명령어 형식 : strace -o [저장할 파일명] [명령어 or 실행 가능한 파일]
5. strace -p : PID를 한정하여 해당 프로세스의 System call 추적
- 명령어 형식 : strace -p [PID]
6. strace -t : strace의 라인 별 시간 정보를 함께 출력함
- 명령어 형식 : strace -t [나머지 동일 명령]
7. strace -c : 조회하는 대상의 System call 통계 정보를 출력
- 명령어 형식 : strace -c [나머지 동일 명령]
* 이후 추가적으로 분석에 도움이 되는 옵션이 있을 시 해당 게시글은 지속 업데이트 예정
'Information Security > Hacking' 카테고리의 다른 글
Windows Registry (0) | 2021.09.23 |
---|---|
Windows PE file (0) | 2021.09.14 |
악성코드(Malware)유형 및 분석 유형 (0) | 2021.09.14 |
Analysis Tool - Process Explorer (0) | 2021.07.07 |
Analysis Tool - Process Monitor (0) | 2021.07.07 |