■ 우선 다양한 명령에 적용 가능한 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
'OSCP > 도구 개념 정리' 카테고리의 다른 글
Passing the Hash: How to hack Windows Server 2012 - Privilege Escalation to Domain Admin (0) | 2020.07.06 |
---|---|
Kali to Windows, rdesktop 파일 복사 (0) | 2020.06.14 |
msfvenom (0) | 2020.05.02 |
32bit Windows From Fuzzing to Buffer Overflow (0) | 2020.04.28 |
Exploiting wildcards on Linux - 권한상승 (0) | 2020.04.24 |