30번 문제
문제 :
메모리 덤프를 보기 위해서는, volatility라는 툴을 사용해야 한다.
다운로드 링크 : https://www.volatilityfoundation.org/
pyhton3이 PC에 설치되어 있어서 최신 버전인 Volatility 3 버전을 다운받아서 설치했다.
압축 해제 후 :
volatility를 사용하려면 pypi를 다운받아야 해서
> pip install pypi 명령어를 입력해서 다운
cmd에서 해당 폴더로 들어간 다음에
python vol.py -h 를 입력해서 어떤 기능을 사용할 수 있는지 확인 가능하다.
(2 버전과 기능은 거의 비슷한데 문법이 약간 다르다)
plugin | 설명 |
timeliner.Timeliner | Runs all relevant plugins that provide time related information and orders the results by time. |
windows.bigpools.BigPools | List big page pools. |
windows.cmdline.CmdLine | Lists process command line arguments. |
windows.dlllist.DllList | Lists the loaded modules in a particular windows memory image. |
windows.driverirp.DriverIrp | List IRPs for drivers in a particular windows memory image. |
windows.driverscan.DriverScan | Scans for drivers present in a particular windows memory image. |
windows.dumpfiles.DumpFiles | Dumps cached file contents from Windows memory samples. |
windows.envars.Envars | Display process environment variables windows.filescan.FileScan Scans for file objects present in a particular windows memory image. |
windows.getservicesids.GetServiceSIDs | Lists process token sids. |
windows.getsids.GetSIDs | Print the SIDs owning each process |
windows.handles.Handles | Lists process open handles. windows.info.Info Show OS & kernel details of the memory sample being analyzed. |
windows.malfind.Malfind | Lists process memory ranges that potentially contain injected code. |
windows.memmap.Memmap | Prints the memory map windows.modscan.ModScan Scans for modules present in a particular windows memory image. |
windows.modules.Modules | Lists the loaded kernel modules. |
windows.mutantscan.MutantScan | Scans for mutexes present in a particular windows memory image. |
windows.netscan.NetScan |
Scans for network objects present in a particular windows memory image. |
windows.poolscanner.PoolScanner | A generic pool scanner plugin. |
windows.privileges.Privs | Lists process token privileges windows.pslist.PsList Lists the processes present in a particular windows memory image. |
windows.psscan.PsScan | Scans for processes present in a particular windows memory image. |
windows.pstree.PsTree | Plugin for listing processes in a tree based on their parent process ID. |
windows.registry.certificates.Certificates | Lists the certificates in the registry's Certificate Store. |
windows.registry.hivelist.HiveList | Lists the registry hives present in a particular memory image. |
windows.registry.hivescan.HiveScan | Scans for registry hives present in a particular windows memory image. |
windows.registry.printkey.PrintKey | Lists the registry keys under a hive or specific key value. |
windows.registry.userassist.UserAssist | Print userassist registry keys and information. |
windows.ssdt.SSDT | Lists the system call table. |
windows.statistics.Statistics | windows.strings.Strings Reads output from the strings command and indicates which process(es) each string belongs to. |
windows.symlinkscan.SymlinkScan | Scans for links present in a particular windows memory image. |
windows.vadinfo.VadInfo | Lists process memory ranges. |
windows.virtmap.VirtMap | Lists virtual mapped sections. |
사용법 (Volatility CheatSheet) :
메모리 덤프 파일(MemoryDump(SuNiNaTaS) 파일을 해당 폴더에 넣은 다음에 해당 메모리 정보 확인해 보았다.
python vol.py -f "MemoryDump(SuNiNaTaS)" windows.info
이제 문제를 풀어보면,
> 네트워크 정보를 검색
python vol.py -f "MemoryDump(SuNiNaTaS)" windows.netscan
그러면 결과에서 192.168.197.138이 목적지로 출발하는 것을 통해서
PC의 IP 주소임을 알 수 있다.
답 :
> cmd 라인 인자를 통해서 확인
python vol.py -f "MemoryDump(SuNiNaTaS)" windows.cmdline
결과를 보다 보면 SecreetDocumen7.txt라는 이름이 의심스러운 파일이 보인다.
이게 기밀문서인 거 같다.
답 :
> 바로 해당 파일의 내용만 추출하고 싶은데 그렇게 하기 위해서는 파일의 메모리 물리적 위치를 알아야 한다.
파일의 메모리에서 위치를 알기 위해서 filescan을 하면 된다.
python vol.py -f "MemoryDump(SuNiNaTaS)" windows.filescan
결과를 통해서 해당 파일의 위치가 0x3df2ddd8 인 것을 알 수 있고,
해당 메모리 위치에 있는 파일을 확인하기 위해서 windows.dumpfiles 플러그인에서 --physaddr 옵션을 주었다.
python vol.py -f "MemoryDump(SuNiNaTaS)" windows.dumpfiles --physaddr 0x3df2ddd8
추출된 결과이다.
해당 파일을 열면,
이렇게 키가 나온다.
답 :
이 세 가지 키를 합하여 인증키를 만들면 된다.
192.168.197.138SecreetDocumen7.txt4rmy_4irforce_N4vy
위 값을 md5로 바꾸면...
성공!