OSCP/도구 개념 정리

mona

우와해커 2020. 5. 14. 14:03

우선 다양한 명령에 적용 가능한 Global Options가 존재한다. 중요한 옵션들은 다음과 같다.

-n // 널바이트가 포함된 주소 제외

-o // OS에 종속된 모듈 제외

-m // 특정 모듈 지정

-cm // aslr, safeseh 등 조건 지정

-cpb // 금지 문자 지정

 

 

■ assemble/asm
어셈블리어를 기계어로 보여준다. 명령 사이는 #으로 구분한다.
!mona asm -s "pop eax#pop ecx#ret"

 

■ DLL을 지정하여 jmp esp의 코드를 찾음

!mona find -s "\xff\xe4" -m slmmfc.dll

!mona find -s "jmp esp" -m slmmfc.dll


■ findwild
findwild는 "*"를 이용한 검색을 할 수 있도록 해준다. 명령어는 "#"으로 구분된다. 다음과 같이 검색을하면 "push r32(32비트 레지스터), 모든 명령어, push r32, 모든 명령어, retn"의 명령어 조합을 찾아준다.
!mona findwild -s "push r32#*#push r32#*#retn"

■ modules
modules는 현재 로드된 모듈들의 상세한 정보를 출력해 준다. Exploit 작성을 하기 위해서는 모듈들의 Rebase, ASLR, DEP 등의 정보가 필요한데 이러한 정보를 한 눈에 볼 수 있다.
!mona modules

 

mona 기능 badchars 찾기(추가 스크립트 필요해 보임)

https://bulbsecurity.com/finding-bad-characters-with-immunity-debugger-and-mona-py/

!mona compare -a esp -f c:\badchar_test.bin

 

mona설명 잘 되 있는 곳
https://m.blog.naver.com/PostView.nhn?blogId=cme1245&logNo=221298299236