posted by 블르샤이닝 2023. 7. 25. 16:09
728x90

논문에는 정말 좋은 내용들이 많이 있다. 아래 내용은 NTFS 에서의 파일에 대한 내용이다.

 

흔히 마지막 엑세스 타임에 대해 오해하는 내용이 있는 부분이 있다. 아래 내용은 읽어보면 단순히 마지막 엑세스 타임으로 파일 시스템을 삭제했거나 접근했다고 보면 안된다. 여러가지 정황을 같이 보면서 해석해야한다.

 

NTFS_파일_시스템에서_MS_Office_워드_문서와_관련된_시간_정보_분석.PDF

 

NTFS_파일_시스템에서_MS_Office_워드_문서와_관련된_시간_정보_분석.pdf
0.77MB

 

728x90
posted by 블르샤이닝 2023. 7. 20. 10:50
728x90

 

 

 

 

wmic csproduct get name,identifyingnumber,uuid

 

하드 시리얼

wmic DISKDRIVE get SerialNumber

 

 

regedit 실행해서 확인

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography

에서 MachineGuid 값

 

출처

http://www.nextofwindows.com/the-best-way-to-uniquely-identify-a-windows-machine

 

728x90
posted by 블르샤이닝 2023. 6. 14. 10:33
728x90
어셈블리어에서 TEST연산은  오퍼랜드 끼리 AND연산하여 결과값을 CMP연산과 같이 저장하진 않는다. 
 
단지 플래그 값을 세팅하여 분기문에게 영향을 준다 ex) JE, JZ.... 같은 분기문 
 
여기서 중요한것은 TEST EAX, EAX와 같은 명령어다.   
 
얼핏보면 같은 레지스터끼리 AND연산하면 EAX값이 나올텐데 왜 하는걸까라는 생각을 할 수 있다. 
 
하지만 바로 위에 쓰인 TEST명령어는 단지 EAX의 값이 0이냐 아니냐를 판단하기 위해서다 
 
만약 EAX의 값이 0이라면 AND연산결과 당연히 0이 나올것이고, Z플래그 (ZF가 세팅될 것이다.) 
밑에 JE 0040100 
 
점프문이 있다면 ZF가 세팅되므로 0040100주소로 점프할 것이다
 
 

CMP : 첫 번째 Operand에서 두 번째 Operand를 뺍니다. 이 연산의 결과는 Zero Flag에만 영향을 미치고Operand에 영향을 미치지 않고 버려집니다.

TEST : 첫 번째 Operand와 두 번째 Operand를 AND 시킵니다. 이 연산의 결과는 Zero Flag 에만 영향을 미치고 Operand에 영향을 미치지 않고 버려집니다.

 

즉 CMP는 두 값을 빼서 결과를 보고 TEST는 두 값을 AND 연산을해서 결과를 보는데 CMP는 두 Operand가 완전히 같은지 판단할 수 있고 TEST는 두 Operand가 모두 0인지 아닌지 판단할 수 있습니다.

 

TEST의 경우에는 두 Operand가 0이 아닌 경우를 제외하고는 값을 단정지을 수 없 기 때문에 TEST eax, eax와 같은 형태로 사용하여 이 값이 0인지 아닌지 확인할 때 사용된다

참조 : https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=vps32&logNo=221532426407

728x90
posted by 블르샤이닝 2023. 6. 14. 10:11
728x90

오랜만에 리버싱 교육 받으러옴. 64dbg 초기에 맛만봤었는데 이젠 이제 주 분석툴로 사용되는구나..그리고 사용법을 모르겠다 ㅎㅎㅎ 올리랑 비슷하면서 다르네..열심히 수업들으면서 따라가는 중

 

리버싱에서 가장 중요한건? 역시나 레지스터의 변화값을 캐치하는것이겠찌....그래서 레지스터에 대한 의미를 공부하고 넘어가기

 

참고 자료 : https://blog.naver.com/hellowhale0737/222862446531

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

 

범용 레지스터, 세그먼트 레지스터, 명령어 포인터 레지스터, 플래그 레지스터가 존재한다.

범용 레지스터 : 주용도가 있으나 다양한 용도로 사용될 수 있는 레지스터

rax(accrumulator register)
함수의 반환 값
rbx(base register)
주된 용도 없음
rcx(counter register)
반복문의 반복 횟수, 각종 연산의 시행 횟수
rdx(data register)
주된 용도 없음
rsi(source index)
데이터를 옮길 때 원본을 가리키는 포인터
rdi(destination index)
데이터를 옮길 때 목적지를 가리키는 포인터
rsp(stack pointer)
사용중인 스택의 위치를 가리키는 포인터
rbp(stack base pointer)
스택의 바닥을 가리키는 포인터

이 외에도 r8~r15까지의 범용레지스터가 존재

세그먼트 레지스터 : cs, ss, ds ,ed ,fs, gs 총 6가지로 각 레지스터의 크기는 16비트이다. 과거에는 사용 가능한 물리 메모리의 크기를 키우려고 사용되었으나, 현재는 cs, ds, ss 가 각각 코드, 데이터, 스택 메모리 영역을 가리킬 때 사용되고, 나머지는 운영체제 범용적인 목적으로 사용된다.

명령어 포인터 레지스터 : CPU가 어느 부분의 코드를 실행할지 가리키는 레지스터 rip이며 크기는 8바이트이다.

플래그 레지스터 : 프로세서의 현재 상태를 저장하고 있는 레지스터이다. RFLAG라는 64비트 레지스터가 존재한다. 실제로는 20여개의 비트만을 사용한다.

CF(Carry Flag)
부호 없는 수의 연산 결과가 비트의 범위를 넘을 경우 설정된다.
ZF(Zero Flag)
연산 결과가 0일 경우 설정된다.
SF(Sign Flag)
연산결과가 음수일 경우 설정된다.
OF(Overflow Flag)
부호 있는 수의 연산 결과가 비트 범위를 넘을 경우 설정도니다.

64bit 구조에서 r- 에서 하위 32bit 가 e-로 치환될 수 있다.

출처: 드림핵 시스템 해킹 - 컴퓨터 구조

728x90
posted by 블르샤이닝 2023. 5. 16. 10:49
728x90

이벤트 로그 기록 분석할때 좋은 프로그램이다. 

지금은 마소에서 제품을 지원하지 않아 별도로 다운받아야 함

 

용량제한으로 분할압축하여 업로드함

 

사용 메뉴얼 : https://learn.microsoft.com/en-us/message-analyzer/message-analyzer-user-roles

 

MessageAnalyzer64.exe
10.00MB
MessageAnalyzer64.e01
10.00MB
MessageAnalyzer64.e02
10.00MB
MessageAnalyzer64.e03
10.00MB
MessageAnalyzer64.e04
10.00MB
MessageAnalyzer64.e05
10.00MB
MessageAnalyzer64.e06
4.03MB

728x90
posted by 블르샤이닝 2023. 5. 15. 20:59
728x90

Study on Windows Event Log-Based Corporate Security Audit and Malware Detection.pdf
1.41MB

 

대학원을 다니면서 논문의 중요성을 많이 알았다. 인터넷 자료도 좋지만 자료의 신뢰성은 논문이 더 높은편이기에 논문자료를 많이 찾아보곤한다. 

 

논문을 써본사람은 알겠지만....진짜 별에 별게 다 있다 ㅋㅋㅋㅋ논문 주제 정하기가 논문쓰기의 50프로 이상을 차지하니까...그만큼 다른사람이 쓰지 않은 논문 주제 찾는게 힘들다는 것이다.

 

여튼 위에 윈도우 이벤트 로그 분석할 때 참고하면 좋은 자료다. 

728x90
posted by 블르샤이닝 2023. 4. 18. 07:18
728x90

윈도우에 장착되었던 부품들(cpu, 메인보드, 램 등)에 대해 확인하려면

 

레지스트리를 봐야함

 

레지스트리의 다음 트리는 드라이버 작성기HKLM  HKEY_LOCAL_MACHINE 나타내는 위치)에 특히 관심이 있습니다.

HKLM\SYSTEM\CurrentControlSet\Services 레지스트리 트리

HKLM\SYSTEM\CurrentControlSet\Control Registry Tree

HKLM\SYSTEM\CurrentControlSet\Enum 레지스트리 트리

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles 레지스트리 트리

WDF(KMDF 또는 UMDF) 드라이버에서 레지스트리 키에 액세스하는 방법에 대한 자세한 내용은 드라이버용 레지스트리 키 소개를 참조하세요.

WDM 드라이버에서 레지스트리 키에 액세스하는 방법에 대한 자세한 내용은 플러그 앤 플레이 레지스트리 루틴을 참조하세요.

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

HKLM\SYSTEM\CurrentControlSet\Services 레지스트리 트리는 시스템의 각 서비스에 대한 정보를 저장합니다. 각 드라이버에는 HKLM\SYSTEM\CurrentControlSet\Services\DriverName 형식의 키가 있습니다. PnP 관리자는 드라이버의 DriverEntry 루틴을 호출할 때 RegistryPath 매개 변수에서 드라이버의 이 경로를 전달합니다. 

 

HKLM\SYSTEM\CurrentControlSet\Control 레지스트리 트리에는 시스템 시작 및 디바이스 구성의 일부 측면을 제어하기 위한 정보가 포함되어 있습니다. 다음 하위 키는 특히 관심이 있습니다.

 

HKLM\SYSTEM\CurrentControlSet\Enum  열거형 트리는 운영 체제 구성 요소에서 사용하도록 예약되어 있으며 레이아웃은 변경될 수 있습니다. 드라이버 및 사용자 모드 디바이스 설치 구성 요소는 IoGetDeviceProperty, CM_Get_DevNode_Registry_Property  SetupDiGetDeviceRegistryProperty 와 같은 시스템 제공 함수를 사용하여 이 트리에서 정보를 추출해야 합니다.

 

HKLM\SYSTEM\CurrentControlSet\HardwareProfiles 레지스트리 트리에는 시스템의 하드웨어 프로필에 대한 정보가 포함되어 있습니다. 하드웨어 프로필은 더 이상 사용되지 않으며 하드웨어 프로필을 기준으로 상태를 저장해서는 안 됩니다.

 

 

 

출처 : https://learn.microsoft.com/ko-kr/windows-hardware/drivers/install/hklm-system-currentcontrolset-control-registry-tree

 

728x90