어릴 때 집에 잉크를 찍어 쓰는 딥펜 하고 병 잉크가 있었던 기억이 있습니다.

잉크를 만지고 나면 손에 잉크가 묻는데, 물로 씻어도 잘 안 지워졌던 기억이 나네요.

싸구려 만년필은 많이 만져 봤지만 원목 수제 만년필은 처음으로 만져보네요.

바로 제나일(Zenyle) 원목 수제 만년필입니다.


포장부터 고급져 보입니다.

 

구성품은 한꺼번에 못 찍었지만, 부테로 가죽 펜케이스, 국제 표준규격 컨버터, 시필용 카트리지, 제품 보증서, 가죽 보증서, 지관입니다.

 

 

원통 케이스를 열어보면 Buttero 가죽으로 직접 제작한 펜 케이스가 들어있습니다.

  - Buttero는 이탈리아에서 3대째 운영중인 Walpier Tannery에서 전통적인 Vegetable 가공법(화학약품 대신 식물 추출 성분인 탄닌으로 가공)을 통해 생산되는 가죽입니다. 최상급의 프랑스 원피를 사용하여 밀도가 높고 표면이 부드럽습니다. 이탈리아 내에서도 최고의 가죽으로 손꼽히며 주요 명품의 소재로 사용됩니다. 

 

 

가죽 펜 케이스를 열어보니 제나일 만년필이 보입니다. ㅎ

 

 

제 손에 들어온 모델은 러셀 만년필 에보니(Russell Fountain Pen_Ebony)입니다.

 

 

고급스러운 블랙컬러와 어두운 갈색 결이 잘 어울어진 세련된 에보니로 만들어진 만년필입니다.

 

 

 

[제원]
Pen Type
Fountain Pen

[Size]
Total Length(with Cap) : 142.5mm   
Length(without Cap) : 116.0mm 
Diameter : 13mm 

[Nib Sizes]
만년필의 닙(Nib)은 필기 습관에 따라 선택이 가능합니다. Zenyle만년필은 표준적인 F(Fine) 굵기의 닙을 기본으로 제공하고 있으며, 다른 닙으로 교체를 원할 경우 옵션에서 선택 해 구매해야 합니다.

 

 


 > Finishes
수작업으로 형태가 잡히면 아래의 천연재료들로 표면을 마감합니다. 인체에 해로운 화학 물질을 배제하면서도 은은하고 부드러운 광택을 내게 해 줍니다.

  - Carnauba
야자수의 잎에서 추출한 왁스로서 브라질리 왁스, 야자 왁스 등으로 불립니다. 높은 광택과 도포면에 레이어를 형성하여 외부의 손상을 막아주는 성질이 뛰어나 왁스의 여왕으로 잘 알려져 있습니다.

  - Beeswax
흔히 밀랍으로 알려져 있으며 벌집에서 추출합니다. 수분의 침투를 막고 부드러운 광택을 내는데 탁월하여 고대 로마시대부터 중국, 우리나라까지 널리 사용되고 있습니다.

  - Shellac
인도에 서식하는 벌레의 분비물에서 추출한 수지로 오래전부터 가구 및 고급 악기의 마감 방법으로 사용되어왔습니다. 표면에 얇고 투명한 피막을 형성하여 나무의 결을 돋보이게 해 줍니다.

만년필 뚜껑은 자석으로 되어있어 앞/뒤로 촥 달라붙습니다.

만년필을 열어서 내부를 살펴봤습니다. 병잉크를 사용하기 위한 튜브가 들어있습니다.

 

 

잉크를 샘플로 같이 주기 때문에 병잉크가 없더라도 만년필을 사용할 수 있습니다.

 

 


만년필로 글씨를 써서 같이 올려야 되는데 악필이다 보니 글씨를 써볼 엄두를 못 내겠네요. 시간이 조금 더 지나면 만년필을 꺼내서 서명도하고 글씨를 쓸 날이 오겠죠. ㅎ

 > 시스템 복원지점 만들기

  - 시작메뉴에서 복원 지점 만들기를 선택합니다.

 

  - 시스템 속성의 시스템 보호 탭에서 만들기가 비활성되어 있다면 보호설정 대상 드라이브를 선택하고 구성을 선택합니다.

  - 구성에서 복원 설정 - 시스템 보호 사용을 선택합니다.

  - 시스템 속성의 시스템 보호 탭에서 만들기를 선택합니다.


  - 복원 지점에 대한 설명을 입력한 다음 만들기를 선택합니다.

  - 복원 지점이 만들어졌습니다.

◎ WSL(Linux용 Windows 하위 시스템) 설치

WSL(Linux용 Windows 하위 시스템) 설치는 두 가지 방법이 있습니다.

 > 단순화된 설치 (미리 보기 릴리스) : wsl --install

  - wsl --install 단순화된 설치 명령을 사용하려면 Windows 참가자 프로그램에 가입하고 Windows 10(OS 빌드 20262 이상)의 미리 보기 빌드를 설치해야 하지만 수동 설치 단계를 따를 필요가 없습니다. 관리자 권한으로 명령 창을 열고 wsl --install을 실행하고 다시 시작하기만 하면 WSL을 사용할 준비가 됩니다.

  - 실행(WinKEY+R) –> optionalfeatures로 실행하면 선택적 기능 창이 열리면 'Linux용 Windows 하위 시스템'에 체크해주고 재부팅합니다.

 > 수동 설치 : 아래에 나열된 여섯 단계를 수행합니다.

  - WSL의 수동 설치 단계는 아래에 나열되어 있으며 모든 버전의 Windows 10에 Linux를 설치하는 데 사용할 수 있습니다.

 

 단순화된 설치

  > Linux용 Windows 하위 시스템의 설치 프로세스는 최신 Windows 10에서 크게 개선되어 수동 설치 단계를 단일 명령으로 대체합니다.

--install 명령은 다음 작업을 수행됩니다.

  - 선택 사항인 WSL 및 Virtual Machine 플랫폼 구성 요소를 사용하도록 설정합니다.

  - 최신 Linux 커널을 다운로드하여 설치합니다.

  - WSL 2를 기본값으로 설정합니다.

  - Linux 배포 (재부팅이 필요할 수 있음) 를 다운로드하여 설치합니다.

기본적으로 설치된 Linux 배포는 Ubuntu입니다. 이 값은 wsl --install -d <Distribution Name>을 사용하여 변경할 수 있습니다. (<Distribution Name>을 원하는 배포 이름으로 바꿉니다.) wsl --install -d <Distribution Name> 명령을 사용하여 초기 설치 후 머신에 Linux 배포를 추가할 수 있습니다.
사용 가능한 Linux 배포 목록을 보려면 wsl --list --online을 입력합니다.

 > 실행(WinKEY+R) –> optionalfeatures로 실행하면 선택적 기능 창이 열리면 'Linux용 Windows 하위 시스템'에 체크해주고 재부팅합니다.

 

 수동 설치

 > Linux용 Windows 하위 시스템 사용
Windows에서 Linux 배포를 설치하려면 먼저 "Linux용 Windows 하위 시스템" 옵션 기능을 사용하도록 설정합니다.
PowerShell을 관리자 권한으로 열어 실행합니다.

PS C:\> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

이제 다음 단계로 이동하여 WSL 2로 업데이트하는 것이 좋습니다. 그러나 WSL 1만 설치하려면 컴퓨터을 다시 시작 하여 마지막 단계의 선택한 Linux 배포 설치로 이동할 수 있습니다. WSL 2로 업데이트하려면 컴퓨터가 다시 시작될 때까지 기다린 후 다음 단계로 이동합니다.


 > WSL 2 실행을 위한 요구 사항 확인
WSL 2로 업데이트하려면 Windows 10을 실행해야 합니다.
  - x64 시스템의 경우: 버전 1903 이상, 빌드 18362 이상
  - ARM64 시스템의 경우: 버전 2004 이상, 빌드 19041 이상
  - 18362보다 낮은 빌드는 WSL 2를 지원하지 않습니다. Windows Update Assistant를 사용하여 Windows 버전을 업데이트합니다.

버전 및 빌드 번호를 확인하려면 Windows 로고 키 + R 을 선택하고, winver 를 입력 후 엔터를 눌러줍니다. (또는 Windows 명령 프롬프트에서 ver 명령을 입력합니다.) [설정] 메뉴에서 최신 Windows 버전으로 업데이트합니다.

 > Virtual Machine 기능 사용
WSL 2를 설치하려면 먼저 Virtual Machine 플랫폼 옵션 기능을 사용하도록 설정해야 합니다. 이 기능을 사용하려면 머신에 가상화 기능이 필요합니다.
PowerShell을 관리자 권한으로 열어 실행합니다.

PS C:\> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

컴퓨터를 다시 시작하여 WSL 설치를 완료하고 WSL 2로 업데이트합니다.


 > Linux 커널 업데이트 패키지 다운로드
  - 최신 패키지를 다운로드합니다.
   . x64 머신용 최신 WSL2 Linux 커널 업데이트 패키지
  - 다운로드한 업데이트 패키지를 실행합니다. (실행하려면 두 번 클릭 - 관리자 권한을 요구하는 메시지가 표시되면 '예'를 선택하여 이 설치를 승인합니다.)
설치가 완료되면 새 Linux 배포를 설치할 때 WSL 2를 기본 버전으로 설정하는 다음 단계로 이동합니다. (새 Linux 설치를 WSL 1로 설정하려면 이 단계를 건너뜁니다.)

 > WSL 2를 기본 버전으로 설정
PowerShell을 열고 이 명령을 실행하여 새 Linux 배포를 설치할 때 WSL 2를 기본 버전으로 설정합니다.

PS C:\> wsl --set-default-version 2

 

 > 선택한 Linux 배포 설치
  - Microsoft Store를 열고 즐겨 찾는 Linux 배포를 선택합니다.


  - 각 배포에 대한 Microsoft Store 페이지를 여는 링크는 다음과 같습니다.
   . Ubuntu 16.04 LTS
   . Ubuntu 18.04 LTS
   . Ubuntu 20.04 LTS
   . openSUSE Leap 15.1
   . SUSE Linux Enterprise Server 12 SP5
   . SUSE Linux Enterprise Server 15 SP1
   . Kali Linux
   . Debian GNU/Linux
   . Fedora Remix for WSL
   . Pengwin
   . Pengwin Enterprise
   . Alpine WSL


  - 배포 페이지에서 "가져오기"를 선택합니다.


새로 설치된 Linux 배포를 처음 시작하면 콘솔 창이 열리고 파일이 압축 해제되어 PC에 저장될 때까지 1~2분 정도 기다려야 합니다. 이후의 모든 시작은 1초도 걸리지 않습니다.
새 Linux 배포에 대한 사용자 계정 및 암호를 만들어야 합니다.


Windows 운영 체제와 완전히 통합된 Linux 배포를 설치를 완료했습니다.

 

Linux 암호 재설정

 > root 암호변경
Linux 배포용 암호를 잊은 경우 다음을 수행합니다.
PowerShell을 열고, wsl -u root 명령을 사용하여 기본 WSL 배포의 루트를 입력합니다.
기본값이 아닌 배포에서 잊어버린 암호를 업데이트해야 하는 경우 ubuntu을 대상 배포의 이름으로 바꾼 wsl -d ubuntu -u root 명령을 사용합니다.
WSL 배포가 PowerShell 내의 루트 수준에서 열리면 passwd <WSLUsername> 명령을 사용하여 암호를 업데이트할 수 있습니다. 여기서 <WSLUsername>은 암호를 잊어버린 계정 사용자 이름입니다.
새 UNIX 암호를 입력한 다음, 해당 암호를 확인하라는 메시지가 표시됩니다. 암호가 성공적으로 업데이트되었다는 메시지가 표시되면 exit 명령을 사용하여 PowerShell 내에서 WSL을 닫습니다.

◎ Windows 터미널이란?

Windows 터미널은 명령 프롬프트, PowerShell 및 WSL(Linux용 Windows 하위 시스템)과 같은 명령줄 도구 및 셸 사용자를 위한 최신 터미널 애플리케이션입니다. 주요 기능에는 여러 탭, 창, 유니코드 및 UTF-8 문자 지원, GPU 가속 텍스트 렌더링 엔진, 사용자 고유의 테마를 만들고 텍스트, 색, 배경 및 바로 가기를 사용자 지정하는 기능이 있습니다.

 

◎ Windows 터미널 설치

 > 설치

  - Microsoft Store에서 Windows 터미널을 설치할 수 있습니다.

 > 첫 실행
  - 설치 후 터미널을 열 때 열기 탭의 기본 프로필로 PowerShell을 시작합니다.

> Hyper-V 빨리 만들기를 사용하여 가상 컴퓨터를 만들고 운영 체제를 설치합니다.

Windows 10 Fall Creators Update(Windows 10 버전 1709) 가을 크리에이터스 업데이트에서 Hyper-V 관리자와 독립적으로 실행할 수 있는 가상 머신 갤러리를 포함하도록 빨리 만들기 기능이 추가되었습니다.
업데이트 이후 가상 머신을 새로 만드는 방법은 다음과 같습니다.
  - 시작 메뉴에서 Hyper-V 빨리 만들기를 엽니다.


  - 운영 체제를 선택하거나, 로컬 설치 원본을 사용하여 자체 운영 체제를 선택합니다.


   . 자체 이미지를 사용하여 가상 머신을 만들고 싶으면 로컬 설치 원본을 선택합니다.
   . 설치 원본 변경을 선택합니다.


   . 새 가상 머신으로 사용하고 싶은 .iso 또는 .vhdx를 선택합니다.
   . 이미지가 Linux 이미지인 경우 보안 부팅 옵션을 선택 취소합니다.


  - "가상 머신 만들기"를 클릭합니다.

간단하죠? ㅎ


 > Hyper-V 관리자를 사용하여 가상 컴퓨터를 만들고 운영 체제를 설치합니다.

 

  - 시작 메뉴에서 Hyper-V 관리자를 엽니다.

  - Hyper-V 관리자의 왼쪽에서 컴퓨터이름을 클릭하고 오른쪽에 있는 작업 메뉴에서 빨리 만들기를 클릭합니다.


이후는 Hyper-V 빨리 만들기와 동일합니다.

Windows 10에서 가상 컴퓨터를 만들 수 있도록 Hyper-V를 사용하도록 설정합니다.
Windows 10 제어판, PowerShell 또는 DISM(Deployment Imaging Servicing and Management) 도구를 사용하는 방법을 포함하여 여러 가지 방법으로 Hyper-V를 사용하도록 설정할 수 있습니다. 이 문서에서는 각 옵션을 안내합니다.

 ※ 참고: Hyper-V는 Windows에서 선택적 기능으로 기본 제공되므로 Hyper-V를 다운로드할 필요가 없습니다.

 > 요구 사항 확인

  - Windows 10 Enterprise, Pro 또는 Education

  - 두 번째 수준 주소 변환(SLAT)을 사용하는 64비트 프로세서.

  - VM 모니터 모드 확장(Intel CPU의 VT-c)을 지원하는 CPU.

  - 최소 4GB의 메모리.

 

Hyper-V 역할은 Windows 10 Home에는 공식적으로 설치할 수 없습니다만, Hyper-V를 활성화하면 사용할 수 있습니다.

공식가이드는 설정 > 업데이트 및 보안 > 정품 인증을 열어 Windows 10 Home 버전을 Windows 10 Pro로 업그레이드하라고 권고하고 있습니다.

자세한 내용과 문제 해결은 Windows 10 Hyper-V 시스템 요구 사항을 참조하세요.

 > PowerShell을 사용하여 Hyper-V를 사용하도록 설정

  - 관리자 권한으로 PowerShell 콘솔을 엽니다.

  - 다음 명령을 실행합니다.

PS C:\> Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All

명령을 찾을 수 없을 경우 관리자 권한으로 PowerShell을 실행하고 있는지 확인합니다.

설치가 완료되면 컴퓨터를 다시 부팅합니다.

 > CMD와 DISM을 사용하여 Hyper-V를 사용하도록 설정

DISM(배포 이미지 서비스 및 관리) 도구를 사용하면 Windows와 Windows 이미지를 구성하는 데 도움이 됩니다. DISM은 많은 애플리케이션을 갖추고 있으며, 운영 체제가 실행 중인 동안 Windows 기능을 사용하도록 설정할 수 있습니다.

DISM을 사용하여 Hyper-V 역할을 활성화하려면:

  - 관리자 권한으로 PowerShell 또는 CMD 세션을 엽니다.

  - 다음 명령을 입력합니다.

PS C:\> DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V

DISM에 대한 자세한 내용은 DISM 기술 참조를 참조하세요.

 > 설정을 통해 Hyper-V 역할 활성화

  - Windows 단추를 마우스 오른쪽 단추로 클릭하고 '앱 및 기능'을 선택합니다.

  - 오른쪽의 관련 설정에서 프로그램 및 기능를 선택합니다.

  - Windows 기능 사용/사용 안 함을 선택합니다.

  - Hyper-V를 선택하고 확인을 클릭합니다.

설치가 완료되면 컴퓨터를 다시 시작하라는 메시지가 표시됩니다.

Hyper-V는 Microsoft의 가상화 플랫폼입니다. Windows Server 운영 체제에서 사용할 수 있었지만 Microsoft는 Windows 10에 Hyper-V 기능을 추가했습니다.
안타깝게도 Hyper-V 기능은 Windows 10 Professional 및 Enterprise 버전에서만 사용할 수 있습니다. 기본적으로 Windows 10 Home Edition에는 설치할 수 없습니다.
그러나 이 문서의 단계를 사용하여 Windows 10 Home Edition에서 Hyper-V를 사용하도록 설정하겠습니다.

 > 시스템이 가상화를 지원하는지 여부 확인
계속 진행하기 전에 시스템이 가상화를 지원하는지 확인해야 합니다. Hyper-V가 올바르게 작동하려면 하드웨어 가상화가 필요합니다. 만약 지원하지 않다면 Virtualbox 및 VMWare와 같은 다른 가상화 플랫폼을 사용해야 합니다.

Windows 10 컴퓨터에 Hyper-V를 설치하기 위한 네 가지 기본 요구 사항이 있습니다.
  - VM 모니터 모드 확장
  - 펌웨어에 가상화 사용
  - 두 번째 수준 주소 변환
  - 데이터 실행 방지 사용 가능

명령 프롬프트 ( 실행(WinKEY+R) –> cmd )를 열고 systeminfo 명령을 실행하여 Hyper-V 요구 사항 섹션을 확인할 수 있습니다.


대부분의 최신 컴퓨터는 Hyper-V의 모든 요구 사항을 지원합니다. 그러나 일부 시스템은 BIOS에서 가상화를 비활성화돼있습니다. 비활성화돼있다면 시작할 때 BIOS 설정으로 이동하여 가상화를 활성화할 수 있습니다.


 > Windows 10 Home에서 Hyper-V 활성화
Windows 10 Home에서 Hyper-V를 설치하고 활성화하려면 아래 단계를 따라서 진행하면 됩니다.

  - 텍스트 편집기를 사용하여 install-hyper.bat 와 같이 파일을 만들고 다음을 해당 파일에 복사하고 저장하세요.

pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum > hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V -All /LimitAccess /ALL
pause

 

  - 해당 파일을 마우스 오른쪽 버튼으로 클릭하고 관리자 권한으로 실행을 선택합니다. 그러면 설치 스크립트가 실행됩니다. 설치를 완료하는 데 다소 시간이 걸릴 수 있습니다. 완료 전에 종료하지 말고 기다려주세요.


  - Y를 눌러 계속합니다. 완료되면 시스템이 다시 시작됩니다.


  - 다시 시작하면 Windows 업데이트 화면이 표시됩니다.


  - 다시 시작한 후 Windows 선택적 기능에 Hyper-V 옵션이 표시되는지 확인할 수 있습니다. 확인하려면 실행(WinKEY+R) – optionalfeatures를 실행하면 됩니다. Hyper-V 및 Hyper-V 관리 도구를 찾을 수 있습니다.


시작 메뉴에서 Hyper-V를 검색하여 Windows 10 Home 컴퓨터에서 가상 머신 생성을 시작할 수 있습니다.


 > 시작 메뉴에서 hyper를 검색합니다.
Hyper-V가 컴퓨터 내에 설치되었으며, 이제 Hyper-V를 이용하여 가상 머신을 만들 수 있었습니다.

 > Windows 10 Home에서 Hyper-V 비활성화
컴퓨터에서 이 기능을 원하지 않는 경우 언제든지 비활성화할 수 있습니다. 비활성화하는 방법에는 두 가지가 있습니다.
  - 첫번째 방법
   . 실행(WinKEY+R) –> optionalfeatures로 실행하면 선택적 기능 창이 열립니다.
   . Hyper-V 및 Hyper-V 관리 도구 선택을 취소합니다..
   . 컴퓨터 재시작
  - 두 번째 방법
   . 명령 줄을 사용하여 이 작업을 수행할 수도 있습니다.

 PS C:\> Disable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
 또는
 C:\> DISM /Online /Disable-Feature /All /FeatureName:Microsoft-Hyper-V

 

Hyper-V는 개인 사용자에게도 매우 유용합니다.

  - 새 소프트웨어 테스트 및 평가

    호스트 시스템을 손상시키지 않고 새 소프트웨어를 테스트하고 평가하는 데 사용할 수 있고,

  - 은행/증권 등 금융 사이트, 국가기관 민원업무 사이트 등

    은행 사이트나 정부 사이트 접속 시 강제설치 프로그램을 가상 머신 내 설치하여 접속할 수도 있습니다.

 

예전에는 가상 머신에서의 접속 또는 접속되었더라도 인쇄가 차단되기도 했지만, 지금은 가상 머신이 기업이나 공공기관에서 일반적으로 사용되고 있기 때문에 관련 업무를 처리하기 위해 가상 머신을 사용하는데 무리가 없어 보입니다. 마지막으로  Hyper-V는 가상 머신을 실행하기 위해 사용자 컴퓨터의 시스템 리소스(CPU, RAM, 저장공간)가 필요합니다. 만약 사용자 컴퓨터의 메모리가 4GB RAM이라면 가상 머신에 리소스를 제공할 수 없기 때문에 Hyper-V 기능을 사용하기 어려울 겁니다.

◎ Windows.old 폴더 제거 하는 방법

1)  PC 로 가서 로컬 디스크 C 드라이브 마우스 오른쪽 버튼을 눌러 속성 메뉴를 선택합니다.



2) 그럼 현재 C 드라이브의 하드디스크 용량과 파일 시스템 등 모든 정보가 뜨는데 디스크 정리 메뉴를 선택합니다.

 

3) 그럼 정리 하기전에 하드 디스크 공간을 계산합니다.

 

4) 디스크 정리 창이 뜨면 시스템 파일 정리 메뉴를 선택합니다.

 

5) 그럼 디스크 공간을 또 다시 계산합니다.

 

6) 삭제할 파일 목록중 이전 Windows 설치 를 체크  확인 버튼을 누릅니다.

 

7) 그럼 완전히 삭제 하겠냐고 묻는데 파일 삭제 버튼을 누릅니다.

 

8) 그럼 삭제시 더이상 복원할 수 없다는 경고 메시지로  버튼을 누릅니다.

 

9) 그럼 이전 윈도우인 Windows.old 폴더 제거가 진행이 됩니다.

 

10) 그럼 일일이 지우지 않아도 디스크 정리 기능으로 Windows.old 폴더를 완전히 깔끔하게 지워진것을 확인할 수 있습니다.!

 

◎ Kernel Memory and Objects : 커널 메모리와 오브젝트 분석
 > modules : System에 load된 kernel driver들을 보여주는 명령어입니다.
  - PSLoadedModuleList가 가리키는 LDR_DATA_TABLE_ENTRY를 통해 doubly-linked 형태로 동작하며 hidden/unlinked kernel driver는 출력해 주지 않습니다.
  - 기본적으로 Virtual address 로 출력하며, Physical address 를 보고 싶다면 -P Option 을 추가하면 됩니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 modules
 # python vol.py -f image.vmem --profile=Win7SP1x64 modules -P

 

 > modscan : Kernel module 을 Physical address 로 보여주는 명령어입니다.
  -  pool 태그로 물리적 메모리 스캐닝을 함으로써 LDR_DATA_TABLE_ENTRY 구조들을 찾을 수 있습니다.
  -  이전에 load 되었던 driver, Rootkit 에 의해 hidden/unlinked 된 Driver 도 출력해 줍니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 modscan

 

 > moddump : Kernel driver 를 File 로 dump 해 주는 명령어입니다.
  - 정규 표현 식과, Physical Offset 을 이용한 Filter 를 지원해 줍니다.
  - 모든 driver 들을 dump 하고 싶다면 아무런 Filter 를 적용하지 않으면 됩니다.
  - 명령어 라인에 -D 또는 --dump-dir=DIR 로 출력 디렉토리를 제공합니다.
  - dlldump 와 비슷하게, PE 헤더의 중요한 부분이 메모리 상주가 아니라면 드라이버의 재구축 또는 추출은 아마 실패 할 것입니다.(2.1버전)

 # python vol.py -f image.vmem --profile=Win7SP1x64 moddump -D folder_name/

 

 > ssdt : Native 와 GUI SSDT 의 함수들을 list 시켜주는 명령어입니다.
  - index, function name, SSDT 에서 각각의 entry 를 소유하고 있는 driver owner 를 출력해 줍니다.
  - Windows 는 4 개의 SSDT 를 가지고 있으나 NT module 의 Native Function, win32k.sys module 의 GUI function 만을 사용하고 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 ssdt

 

 > driverscan : Memory 의 DRIVER_OBJECT 를 pool 태그 스캐닝하는 명령어입니다.
  - 모든 kernel module 이 DRIVER_OBJECT 와 관련된 것은 아닙니다.
  - DRIVER_OBJECT : 드라이버를 나타내는 데이터 구조체입니다. DEVICE_OBJECT를 포함하고 있으며, 하나의 드라이버가 동일한 장치 여러 개를 관리 할 수 있습니다.
  - DEVICE_OBJECT : 드라이버를 통해서 관리되는 장치를 표현하는 구조체입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 driverscan

 

 > filescan : pool 태그 스캐닝을 사용하여 물리적 메모리에서 FILE_OBJECT를 스캐닝하는 명령어입니다.
  - Rootkit 이 디스크에 File 을 hiding 하였거나, 실제 System 의 open handle 을 hooking 하였더라도 open File 을 찾을 수 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 filescan

 

 > mutantscan : Memory 에서 KMUTANT 객체를 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.
  - 모든 오브젝트들을 보여주지만 mutexexs 로 명명된 것만 볼 수 있도록 -s 또는 --silent 를 사용할 수 있습니다.
  - CID column 은 Process ID 와 Thread ID 를 보여줍니다.
  - Volatility 는 mutexes 들이 random 한 이름을 가지기 때문에 의심 가는 mutexes 를 판단하는 것이 어렵다는 것을 알고, sqlite3 database 를 통해 해당 Memory dump 에 이미 DB 에 존재하는 이름이 있으면 강조해주는 기능을 가지고 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 mutantscan -s

 

 > symlinkscan : Symbolic link 객체들을 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 symlinkscan

 

 > thrdscan : Memory 의 ETHREAD 객체를 pool 태그 스캐닝을 사용해 스캐닝하는 명령어입니다.
  - ETHREAD 는 부모 process 를 식별할 수 있는 정보를 가지고 있기 때문에 이는 hidden Process 를 찾는데 도움을 주기도 합니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 thrdscan

 

Volatility 볼라틸리티 2.1 Plugins - 윈도우#01

◎ Image Identification : 이미지 식별

Volatility 볼라틸리티 2.1 Plugins - 윈도우#02

◎ Processes and DLLs : 프로세스와 DLLs 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#03

◎ Process Memory : 프로세스 메모리 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#04

◎ Kernel Memory and Objects : 커널 메모리와 오브젝트 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#05

◎ Networking : 네트워크 정보
Volatility 볼라틸리티 2.1 Plugins - 윈도우#06

◎ Registry : 단지 Registry data를 추출하는데 도움을 줍니다.
Volatility 볼라틸리티 2.1 Plugins - 윈도우#07

◎ Crash Dumps, Hibernation and Conversion : 크래쉬 덤프, 하이버네이션 정보확인 및 파일변환
Volatility 볼라틸리티 2.1 Plugins - 윈도우#08

◎ Malware and Rootkits : 맬웨어와 루트킷 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#09

◎ Miscellaneous : 기타 등등

◎ Process Memory : 프로세스 메모리 분석
 > memmap : 해당 Image에서 할당된 Memory 주소 Map을 보여주는 명령어입니다.
  - 정확히 어떤 페이지가 메모리 상주인지 상세한 프로세스 DTB(또는 대기상태나 시스템 프로세스에서 이 플러그인을 쓴다면 커널 DTB)를 보여줍니다. 
  - 페이지의 가상주소, 페이지의 일치하는 물리적 오프셋, 그리고 페이지 사이즈를 보여줍니다. 
  - 맵 정보는 근본적인 주소 공간의 get_available_addresses 방법을 사용해 플러그인으로써 발생됩니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 memmap -p 1111

 

 > memdump : Process의 다양한 Memory Segment에서 모든 Data를 추출하여 dump 하는 명령어입니다.
  - 특정 출력 디렉토리를 설정하려면, --dump-dir=DIR 또는 -D DIR을 사용합니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 memdump -p 1111 -D folder_name/

 

 > procmemdump : 실행 가능한 Process(Slack space 포함)을 dump 하는 명령어입니다.
  - PE header 검증을 하지 않은 체로 dump 하려면 -u 또는 --unsafe를 사용하면 가능합니다.
  - 몇몇 악성코드는 PE 헤더에서 의도적으로 사이즈 필드를 위조해서 메모리 덤핑 툴이 실패하게 만듭니다.
  - 슬랙 공간(Slack space) : 저장 매체의 물리적인 구조와 논리적인 구조의 차이로 발생하는 낭비 공간. 물리적으로 할당된 공간이지만 논리적으로는 사용할 수 없는 공간을 말합니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 procmemdump -p 1111 -D folder_name/

 

 > procexedump : 실행 가능한 Process(Slack space 미포함)을 dump 하는 명령어입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 procexecdump -p 1111 -D folder_name/

 

 > vadinfo : 프로세스의 VAD 노드들에 대한 확장된 정보를 보여주기 위한 명령어로 아래와 같은 정보를 보여줍니다.
  - VAD(Virtual Address Descriptor) : 프로세스 주소 공간에서 가상 주소가 예약되어 있는지 여부를 추적할 수 있게 관리하는 데이터 구조체 집합입니다.
  - 커널 메모리에서 MMVAD 구조체 주소
  - MMVAD(Memory Manager Virtual Address Descriptors) : 메모리 관리자 가상 주소 설명 자라는 이진트리 항목
  - 윈도우 메모리 관리자(Windows Memory Manager)는 실제 메모리에 액세스 하기 전 각 프로세스(프로세스 관리자가 프로세스를 관리하기 위해 필요한 정보를 포함하는 EPROCESS 구조)의 가상 주소 공간에 액세스 하기 위한 정보를 이진트리(MMVAD 구조로 메모리 세그먼트의 가상 메모리 기본 주소 및 크기와 같은 MM 관련 정보 포함) 형태로 관리합니다.
  - MMVAD 구조가 적용되는 프로세스 메모리에서의 시작과 끝 지점의 가상주소(Virtual Address)
  - VAD 태그
  - VAD 플래그와 컨트롤 플래그 등
  - 매핑된 메모리(memory map File)의 이름(존재할 경우)
  - 커널 메모리(Kernel Memory)의 MMVAD 구조체 주소
  - Memory Protection(only original protection) : PAGE_NOACCESS 로 메모리 할당 시 보호를 하였다 하더라도, 이것이 현재 메모리 상태를 나타내는 것이 아닐 수 도 있습니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 vadinfo -p 1111

 

 > vadwalk : VAD nodes 들을 보여주는 명령어입니다.
  - VAD tree(Virtual Address Descriptor tree) : 자체 밸런싱 바이너리 트리를 말하며 특정 노드의 왼쪽은 특정 노드보다 낮은 값의 노드, 오른쪽은 특정 노드보다 높은 값의 노드로 이루어져 있는 트리를 말합니다. Windows memory manager에서 프로세스가 할당받은 메모리를 표현하기 위해 사용됩니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 vadwalk -p 1111

 

 > vadtree : VAD nodes 들을 Tree 형태로 보여주는 명령어입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 vadtree -p 1111

 

 > vaddump : memdump 와 유사한 명령어로서, 각각의 VAD Segment에서 포함된 Data를 dump 하는 명령어입니다.
  - memdump 와는 달리 dump 되는 dmp File 의 이름이 Memory 주소 영역으로 되어 있습니다.
  - 해당 File 명은 ProcessName.PhysicialOffset.StartingVPN.EndingVPN.dmp 와 같은 포맷으로 되어 있습니다.
  - PhysicalOffset 이 File 명에 들어가는 이유는 같은 이름을 가진 2 개 이상의 Process 들을 구분하기 위해서입니다.

 # python vol.py -f image.vmem --profile=Win7SP1x64 vaddump -D folder_name/

 

 > evtlogs : Windows 이벤트 로그 추출 명령어입니다. (XP/2003 only)

 # python vol.py -f image.vmem --profile=Win7SP1x64 evtlogs --dump-dir=folder_name/
 # cat folder_name/appevent.txt

 

Volatility 볼라틸리티 2.1 Plugins - 윈도우#01

◎ Image Identification : 이미지 식별

Volatility 볼라틸리티 2.1 Plugins - 윈도우#02

◎ Processes and DLLs : 프로세스와 DLLs 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#03

◎ Process Memory : 프로세스 메모리 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#04

◎ Kernel Memory and Objects : 커널 메모리와 오브젝트 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#05

◎ Networking : 네트워크 정보
Volatility 볼라틸리티 2.1 Plugins - 윈도우#06

◎ Registry : 단지 Registry data를 추출하는데 도움을 줍니다.
Volatility 볼라틸리티 2.1 Plugins - 윈도우#07

◎ Crash Dumps, Hibernation and Conversion : 크래쉬 덤프, 하이버네이션 정보확인 및 파일변환
Volatility 볼라틸리티 2.1 Plugins - 윈도우#08

◎ Malware and Rootkits : 맬웨어와 루트킷 분석
Volatility 볼라틸리티 2.1 Plugins - 윈도우#09

◎ Miscellaneous : 기타 등등

+ Recent posts