cgy12306

Windbg Tip 본문

Windows

Windbg Tip

cgy12306 2020. 4. 18. 13:28

kb : 콜 스택 확인

g : 실행

p : step over

t : step into

pt : ret 명령어가 나오기 전까지 실행

u : 명령어 보기

ub : 이전 명령어 보기

a : 어셈블리어 모드로 들어감, 이후에 어셈블리어 입력 가능

$$><경로\파일명 : windbg가 있는 위치에 폴더 생성 후 아래에 windbg 명령어가 들어있는 아무 파일을 생성해서 다음과 같은 명령어 입력 시 스크립트 실행가능

lm : 로드된 모듈 확인

dds : dword 자료형으로 스택 보기

dc [주소]: 메모리 보기

dq [주소/레지스터] : qword 자료형으로 메모리 보기

s -a 시작주소 L?마지막주소 [스트링] : 스트링을 포함한 주소와 내용을 검색

s 시작주소 L?마지막주소 bytecode : bytecode를 포함한 주소와 내용을 검색

!exploitable : 익스플로잇 여부 확인 가능

!exchain : seh를 볼 수 있음

!analyze -v : 크래쉬 난 현재 상태 분석해줌

bp [주소] : 브레이크 포인트 설정

bl : 브레이크 포인트 리스트 확인

bc [숫자, *] : 브레이크 포인트 삭제

q : 종료

.restart : 재실행

!vprot [주소] : 해당 주소 메모리 정보 확인 가능

!address : 메모리 정보 확인

sxe ld [모듈] : 모듈이 시작되는 지점에 브레이크 포인트 설정

dt : 구조체 형태를 볼 수 있음

lmvm [모듈] : 해당 모듈에 대한 정보를 얻을 수 있음

!token [토큰] : 토큰에 대한 정보를 볼 수 있음(하위 1byte를 0으로 세팅해줘야함)

 


windbg mona 명령어

!py mona rop -m [모듈명] : 모듈명을 지정하여 DEP를 우회하는 rop 가젯들을 찾아주는 명령어

!py mona mod : 모듈에 대한 정보를 보여주는 명령어

!py mona findwild -s "push r32#*#pop esp#ret" : 원하는 가젯을 찾아주는 명령어, r32는 32bit에서 사용하는 모든 레지스터를 의미하고 *은 모든 명령어를 의미. -m 옵션을 줘서 원하는 모듈에서만 검색이 가능함

Comments