일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 최순실 악성코드
- 파이썬
- pdf 악성코드
- Python GetProcAddress
- 한글 악성코드
- TCP Socket
- UDP Server/Client
- Universal ShellCode
- Hover Action
- c# 파일명 변경
- PPT Malware
- FTP Server/Client
- vbscript
- Python Win32 API
- hex2bin
- TCP Server/Client
- c# 외부 프로그램 실행
- PowerShell
- VMware
- 파워쉘
- 파이썬 외부프로그램 실행
- anti vm
- c# 디렉토리 파일 조회
- Python LoadLibrary
- c# xml 파싱
- c# 파일 읽기쓰기
- c# 프로그램 종료
- 악성코드
- c# 파일 IO
- Mouse Over
- Today
- Total
목록System (5)
그냥저냥
* Universal Shellcode가 필요한 이유 - Shellcode에 사용되는 API 함수 주소는 부팅할 때마다 kernel32.dll의 상위 2바이트 주소값이 매번 바뀜 (XP의 경우 서비스팩 버전과 언어 환경이 동일하면 값은 일정함) - 같은 DLL 파일이라도 OS 버전과 서비스팩 버전에 따라 API 함수의 주소값이 달라질 수 있음 - 어떤 시스템에서도 Shellcode의 정상 동작을 위해 Universal Shellcode 제작이 필요 ex #1 > (재부팅 전 WinExec 함수의 주소) ex #2 > (재부팅 후 WinExec 함수의 주소) Universal ShellCode 제작을 위해 필요한 사전 용어 및 지식을 정리하고 넘어가자 1. TEB (Thread Environment Blo..
ssdeep은 Fuzzy Hash를 사용하여 파일의 유사도를 측정할 수 있는 프로그램이다. 즉, 원본파일과 비교할 파일들을 서로 비교하여 파일이 얼마나 유사한지를 %로 보여준다. 그럼 ssdeep 프로그램을 사용하기전에 Fuzzy Hash에 대해 먼저 알고 넘어가자. * Fuzzy Hash (Context Triggered Piecewise Hash) - 기존 Hash의 무결성 확보 뿐만 아니라 원본 파일과의 유사도를 파악 - 파일 전체에 대한 해쉬값을 계산하지 않고, 일정 크기 단위로 구분하여 각 단위 블록에 대한 해쉬값을 만들어내는 방식 - 각 영역의 마지막 몇 바이트에 대한 해쉬값을 이용하여 체크섬 데이터를 만든 후 유사도를 비교 이제 ssdeep 사용법을 보자. -h 옵션을 입력하면 아래 사진처럼..
DKOM (Direct Kernel Object Manipulation) 윈도우 OS는 프로세스 관리를 위해 EPROCESS 구조체를 이용한 이중 연결리스트를 사용한다.각 프로세스에 대한 정보는 EPROCESS 라는 구조체로 관리되며, 중요하게 봐야할 필드는 아래와 같다. (Windows XP 기준) - 0x084 (UniqueProcessId) : 각 프로세스 별로 부여된 PID - 0x088 (ActiveProcessLinks) : 프로세스 링크에 대한 이중연결리스트 - 0x174 (ImageFileName) : 프로세스 이름 Flink : 다음 프로세스에 대한 EPROCESS 구조체를 가리킴Blink : 이전 프로세스의 EPROCESS 구조체를 가리킴 Flink와 Blink의 값을 적절히 바꾸면 아..
예전에 RootKit 관련 교육자료를 만들면서 그렸던 BootKit 동작 과정 그림 좀더 자세한건 나중에;;
인텔 CPU에서 Ring 이라는 용어를 이용하여 메모리에 접근할 수 있는 특권을 구분함CPU는 SW코드와 메모리 각각에 어떤 Ring이 할당되는지 끊임없이 관리하며, Ring간 접근 제한을 수행한다.모든 프로그램은 Ring 번호를 할당받으며, 자신이 할당받은 Ring 보다 낮은 번호의 Ring 영역에 접근할 수 없다. (대부분 OS에 의해 차단됨) Ring3 프로그램이 Ring0 영역에 접근하기 위해서는 권한 이행이 필요하며, Native API를 이용하면 Ring0 영역에 접근이 가능하다. ex> OpenProcess 함수 사용시 Native API인 NtOpenProcess 접근 과정 (타 사이트를 참고하여 그림 작성)