프롤로그
솔직히 가상머신에서 VI 편집기 열어가면서 하기 너무 귀찮을 거 같아서 Visual Stduio Code 에서 어떻게든 하고 싶어서 이것저것 찾아보았는데, wsl2 버전을 설치해보라는 피드백을 받아서 한 번 설치해보
1. wsl2 설치하기
https://webnautes.tistory.com/1847
WSL2를 설치하여 Ubuntu 22.04 사용하는 방법
Windows 11에 WSL2 ( Windows Subsystem for Linux )를 설치한 후, Ubuntu 22.04를 설치한 과정을 다루고 있습니다. Windows 10에서도 거의 동일하게 진행가능합니다. 2017. 12. 15 최초작성 2021. 05. 19 2021. 08. 01 2022. 11. 25
webnautes.tistory.com
이 글을 참고하였다.
2. pwndbg 설치하기
https://taesan-smj.tistory.com/16
[드림핵 /시스템 해킹] pwndbg 설치하기 (Tools : gdb)
프롤로그 저번 글에서 WSL을 이용하여 VS코드에서 pwndbg를 사용하려고 하였다. 그러나 계속 gdb에서 메모리에 접근할 수 없다고 나오면서 원인을 파악할 수 없었다. 이를 해결하는 법을 위에 3대의
taesan-smj.tistory.com
해당 글 4번을 참고하여 설치하였다
Conetxt
프로그램의 실행과정을 자세히 관찰하려면 컴퓨터의 각종 메모리를 한 눈에 파악할 수 있는 것이 좋음. 프로그램이 실행되고 있는 맥락(Context)을 확인하자.
(1) REGISTERS : 레지스터들의 상태
(2) DISASM : rip부터 여러 줄에 걸쳐 디스어셈블된 결과
(3) STACK : rsp 부터 여러 줄에 걸쳐 스택의 값들을 보여줌
(4) BACKTRACE : 현재 rip에 도달할 때 까지 어떤 함수들이 중첩되어 호출됐는지 보여줌.
Break & Continue
break : 특정 주소에 중단점을 설정
continue : 중단된 프로그램을 실행시키는 기능
run
단순히 실행. 중단점 지점까지 그냥 실행만 시켜준다
disassembly
프로그램의 코드는 기계어로 이루어져 있으므로, 기계어를 디스어셈블 하는 기능을 탑재하고 있다.
이때, u/nearpc 를 사용하면 더 가독성 있게 바꿔준다
그 외
x: 메모리 조회
ni : 명령어 실행, 함수 내부로는 들어가지 않음
si : 명령어 실행, 함수 내부로 들어감
tele : 메모리 조회, 메모리값이 포인터의 경우 재귀적으로 따라가며 모든 메모리값 출력
vmmap : 메모리 레이아웃 출력
에필로그
일단 이건 이론으로만 봐도 모르겠다. 실제 실습해봐야 알듯?
지금으로써는 이걸 깔아서 테스트 할 수 있는 상태가 되었다 정도만 알아야할 것 같다.
'보안 스터디 > 시스템 해킹' 카테고리의 다른 글
[드림핵/워게임] shell_basic (포너블/시스템해킹) (1) | 2024.01.27 |
---|---|
[드림핵/시스템해킹] Exploit Tech: Shellcode -2 (0) | 2023.12.31 |
[드림핵/시스템해킹] Exploit Tech: Shellcode -1 (1) | 2023.12.31 |
[드림핵 /시스템 해킹] pwndbg 설치하기 (Tools : gdb) (1) | 2023.12.28 |
[드림핵] Tools : gdb (시스템 해킹) (1) | 2023.12.20 |