Get Windows Logon Password using Wdigest in Memory Dump EN Ver


We are in the physical memory window of the room to recover the password was investigated.

As a result of the study was to develop plug-in Cibola utility, which you use to for many people to share the knowledge.


For.MD에서 배포하는 기술문서입니다.


해당 문서는 윈도우 메모리에서 로그온 계정 정보를 추출하는 방법을 위주로 설명되어 있습니다.


문서에서 언급하는 방법은 메모리 분석 도구인 볼라틸리티 플러그인으로 제작되었으며, 문서에 다운로드 URL이 포함되어 있습니다.


플러그인은 결론에서 언급한 여러가지 연구 방향을 진행하여 여러 기능을 추가한 후 다듬어 정식 플러그인을 등록 할 예정 입니다. :)


재밌게 봐주세요 ^^


[목차]

1. 서론

2. 윈도우 인증 패키지

3. 라이브 상태에서 윈도우 로그온 패스워드 추출

4. 메모리 덤프에서 윈도우 로그온 패스워드 추출

5. Volatility Plugin - logon

6. 결론





[For.MD]Windows Logon Password.pdf


메모리 이미지에서 원하는 프로세스를 선택하면 바이러스 토탈에 업로드하여 스캔 결과를 출력 해 주는 플러그인이다.


root@kali:~/Desktop# vol -f Windows --profile=WinXPSP2x86 malscan -p 1472

Volatile Systems Volatility Framework 2.1

                                                                                        

------------------------------- --------------- ----------------------------------------


[!] Process to dump in the current directory.


[+] To start a process dump.

Process(V) ImageBase  Name                 Result

---------- ---------- -------------------- ------

0x820f97b0 0x01000000 notepad.exe          OK: executable.1472.exe


[+] Run the file to start uploading.


[+] Run the file upload is complete.


[+] File analysis...(About 3 minutes)

scan_id : 7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f-1375761931

sha1 : d3333bd45366430fddc52d3ff901fd45bb0bd0d8

resource : c1a52510032fa6a3e16d5c075c5421a6

response_code : 1

scan_date : 2013-08-06 04:05:31

permalink : https://www.virustotal.com/file/7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f/analysis/1375761931/

verbose_msg : Scan finished, scan information embedded in this object

sha256 : 7941806c100d46d8bc0570f27d4d74f5bf3cedced26448d70d76a6590c14549f

positives : 1

total : 46

md5 : c1a52510032fa6a3e16d5c075c5421a6


 AV Name Detected Result

MicroWorld-eScan                False           None                                    

nProtect                        False           None                                    

CAT-QuickHeal                   False           None                                    

McAfee                          False           None                                    

Malwarebytes                    False           None                                    

K7AntiVirus                     False           None                                    

K7GW                            False           None                                    

TheHacker                       False           None                                    

NANO-Antivirus                  False           None                                    

F-Prot                          False           None                                    

Symantec                        False           None                                    

Norman                          False           None                                    

TotalDefense                    False           None                                    

TrendMicro-HouseCall            False           None                                    

Avast                           False           None                                    

ClamAV                          False           None                                    

Kaspersky                       False           None                                    

BitDefender                     False           None                                    

Agnitum                         False           None                                    

SUPERAntiSpyware                False           None                                    

Emsisoft                        False           None                                    

Comodo                          False           None                                    

F-Secure                        False           None                                    

DrWeb                           False           None                                    

VIPRE                           False           None                                    

AntiVir                         False           None                                    

TrendMicro                      False           None                                    

McAfee-GW-Edition               True            Heuristic.BehavesLi...2.Suspicious-DTR.K

Sophos                          False           None                                    

Jiangmin                        False           None                                    

Antiy-AVL                       False           None                                    

Kingsoft                        False           None                                    

Microsoft                       False           None                                    

ViRobot                         False           None                                    

AhnLab-V3                       False           None                                    

GData                           False           None                                    

Commtouch                       False           None                                    

ByteHero                        False           None                                    

VBA32                           False           None                                    

PCTools                         False           None                                    

ESET-NOD32                      False           None                                    

Rising                          False           None                                    

Ikarus                          False           None                                    

Fortinet                        False           None                                    

AVG                             False           None                                    

Panda                           False           None


플러그인을 동작시키기 전에 바이러스 토탈에 API KEY가 필요하다. 해당 key는 바이러스 토탈에 가입 후 Profile 페이지로 이동하여 API탭을 보면 다음과 같이 자신만의 key를 확인 할 수 있다. 



해당 key를 플러그인 상단에 있는 VT_API_KEY에 넣어주고 플러그인을 동작시키면 된다. 


참고로 플러그인 동작시에는 -p 옵션을 필수적으로 지정해 주어야 한다. 


malscan.py



프로세스의 커맨드라인은 침해대응에서 중요한 부분을 차지한다

해당 프로세스가 어떤 일을 하는지 아주 쉽게 파악을 할 수 있게 정보를 제공하는 부분이 커맨드라인이다. 

하지만 현재 볼라틸리티 플러그인 중 커맨드라인만 따로 출력 해 주는 플러그인이 존재하지 않아 한번 만들어 보았다.

(dlllist 플러그인에서는 커맨드라인을 출력 하지만, dlllist와 같이 출력되기 때문에 가독성이 떨어진다.)


현재 볼라틸리티에서는 EPROCESS Scanning으로 숨겨진 프로세스나 죽은 프로세스를 찾아주긴 하지만 숨겨진 프로세스 파악이 목적이어서 PEB 하부 구조체들까지 스캐닝을 하지는 않아 숨겨진 프로세스에 대한 커맨드라인은 아직 구현하지 못하였다.

현재 생각으로는 메모리 전체를 대상으로 커맨드라인을 파싱하거나 숨겨진 프로세스의 PEB영역을 계산 해 추출해야 할 듯 하다.



출력은 23인치 와이드 모니터에 맞추어져 있다. 만약 모니터의 크기와 알맞게 출력하고 싶다면 소스코드 중 다음 부분을 수정하면 된다.


("Command Line", "<150"),


그리고, 너무 많은 프로세스로 자신이 보고 싶은 프로세스의 커맨드라인이 있을지도 모른다. 이때는 -p <PID> 옵션을 통해 프로세스 아이디를 지정 해주면 된다.




proccmd.py



  1. kant 2013.08.04 23:56

    아.. 파워쉘로 따라해볼려다가 숨겨진 프로세스 찾는 부분에서 막혀서 멘붕이 왔네요 ㅠ
    간단하게 구현하면 다음과 같습니다 ^^
    Get-WmiObject Win32_Process | Select-Object ProcesId, ProcessName, CommandLine, CreationDate | Sort-Object processid

    ps. 요즘 파이썬으로 구현된 것들을 파워쉘로 구현해 보는데 파이썬에 대한 깊이가 낮아 힘드네요 ㅠ

  2. Favicon of https://malwarelab.tistory.com BlogIcon demantos 2013.08.07 13:36 신고

    volatility 2.3_beta에서는 시간 정보가 깨져서 나오네요...
    문자수를 20글자로 주셔서 30으로 바꿨더니 제대로 나오네요 ㅎㅎ
    좋은 플러그인 감사합니다~
    해볼려고 했던건데 이리 만들어주시니...ㅎㅎ

    • Favicon of https://maj3sty.tistory.com BlogIcon MaJ3stY 2013.08.07 16:05 신고

      아 ㅎㅎ 제가 플러그인 제작 할 때는 2.1 버전으로 했던 터라.. 거기까지 미처 생각을 하지 못했었네요 ㅎㅎ

      알려주셔서 감사합니다 ㅎ

[업데이트 내용]

 - daum 계정 추출 기능 추가

 - -s 옵션 추가


-s 옵션은 추출하고자 하는 계정 사이트명을 지정하는 옵션이다. 만약 해당 옵션을 지정하지 않으면 다음과 같이 플러그인에서 지정하는 모든 사이트의 계정들이 추출되어 출력된다.



-s 옵션으로 페이스북을 지정하면 다음과 같이 페이스북 계정만 추출되어 출력된다.



단일지정뿐만 아니라 복수지정도 가능하다.



userinfo.py


p.s - 네이버도 추가하려 했으나 네이버 로그인 과정에서 암호화 하는 부분 때문에 브라우저별로 메모리에 흔적을 남기는 형태가 각양각색이어서 추가하지 않았다.

+ Recent posts