본문 바로가기

전체

(242)
Python(파이썬)으로 Port Scan (포트 스캔) from socket import * from threading import Thread import re import time global ThreadCnt ThreadCnt = 0 PortList = {20:'FTP', 21:'FTP', 22:'SSH', 23:'Telnet', 24:'mail', 25:'SMTP', 80:'HTTP', 443:'HTTPS', 3306:'MySQL',} def ConnScan(Target_Host, Target_Port): try: connskt = socket(AF_INET, SOCK_STREAM) connskt.connect((Target_Host, Target_Port)) connskt.send('hello') result = connskt.recv(1024) f..
Python(파이썬)으로 URL, IP 추출 import sys import re class FindString : def __init__(self) : print 'Start Find String\n' self.lines = [] def __del__(self) : print '\nEnd Find String' def readfile(self, filePath): try: self.file = open(filePath, 'r') while True: line = self.file.readline() if not line: break self.lines.append(line) self.file.close() except IOError : print 'Cannot read file : ' + filePath sys.exit() def parseFil..
이미지 파일을 VMWare에서 부팅하기 1. 먼저 인케이스 또는 FTK를 이용해 마운트를 시킨다 2. 010에디터를 관리자 권한으로 실행한다. 3. Crtl+D 한후 마운트한 드라이브를 선택한다. 4. Save As 로 이미지 파일을 *.dd로 저장한다. 5. ProDiscoverBasic Free버전을 다운받고 설치한다.(구글검색) 6. Tool -> Image Conversion Tools -> VMWare Support for DD images 7. 새롭게 생긴 *.vmdk 파일과 dd를 가상머신에 사용할 폴더애 넣는다. 8. VMWare를 실행 9. File -> New Virtual Machine -> Custom -> Next -> I Will install the operating system later -> 버전선택 -> loc..
USB 사용기록 분석 1. 이벤트로그확인 C:\Windows\System32\winevt\Logs\System.evtx 2. 레지스트리확인 추출 : C:\Windows\System32\config\RegBack\SYSTEM 추출 : C:\Windows\System32\config\SYSTEM HKEY_LOCAL_MACHINE\System\Controlset002\Control\Class\{...ID...}\00XX {...ID...}의 Class가 USB인 것을 찾는다. 키를 설정한 시간으로 최종으로 꽂은 시간을 확인할 수 있다. HKEY_LOCAL_MACHINE\Software\Microsoft\Windows Portable Devices\Devices\.........#UMB#..&... ... VEN_제조사이름&하드웨어..
볼라틸리티 (Volatility) -메모리 포렌식 소개 - Python 기반 Windows Memory Forensic Tool - Windows, Linux, Mac OS에서 실행할 수 있음 - Open source 이며, Plugin 형태로 다양한 기능들을 제공 - 플러그인을 자신이 직접 만들어 사용가능 - 메모리 덤프 파일(img, raw, dmp), 하이버네이션 파일(hiber), 가상 머신 메모리(vmem) 분석가능 - 획득할 수 있는 정보 - 트리 형태의 프로세스 리스트, 프로세스가 로드한 DLL과 핸들, 프로세스 환경변수와 Import, Export하는 함수, 네트워크 정보, 시스템에서 로드했던 드라이버 목록 - 실행 중이거나 종료 또는 루트킷으로 은닉된 프로세스의 오프셋, SID(보안 식별자), PID, 스레드 수, 핸들 수, 시작 및 종..
메모리 포렌식 기초 지식 물리 메모리란? - 읽고 쓰기가 가능한 주기억 장치이며 반도체 회로로 구성 - 특정 영역에 저장된 데이터에 접근하는 데 동일한 시간이 걸리고 접근속도가 빠름 - 전원 공급이 중단되면 기억된 내용은 지워지는 휘발성 저장장치 물리메모리 수집 방법 가상 메모리 - 다수의 태스크가 하나의 메모리를 사용하기 때문에 물리 메모리 크기 보다 더 큰 저장 공간 필요 - 실행영역만을 적재하여 물리 메모리의 크기보다 큰 프로그램의 수행이 가능해짐 가상 메모리 구조 - 물리주소 : 실제 물리 메모리 상에서 유효한 주소 - 논리 주소(가상 주소) : 운영체제에서 주소 할당 시 가상적으로 주어진 주소 - 가상 주소 공간은 메모리 관리 장치(Memory Management Unit)에 의해 물리 주소로 변환됨 하드웨어를 이용한 ..
DFRWS2016 발표 후기 DFRWS 2016 USA에서 다음과 같은 주제로 발표를 하고 왔습니다. Recovery method of deleted records and tables from ESE Database 대학원에 다니면서 정말 가고 싶은 학회가 있었습니다. 바로 DFRWS 였습니다. 아마 디지털포렌식을 연구한다하면 한번 쯤은 들어봤을 학회라고 생각합니다. 더구나 여기에서 발표를 하게되면 Digital investigation 저널(SIC(E))에 논문을 실어주니 저에겐 정말 2년 내내 가고 싶은 곳이었습니다. 하지만 졸업을 앞두고 논문 게재는 국내 저널인 정보보보학회에 논문 두편을 내면서 끝마치게 되었습니다. 졸업하면서까지 아쉬움을 감출 수 없었고 결국 졸업 직전에 DFRWS USA 2016에 졸업 논문을 발전시켜서 논..
데이터 추상화 정리 8.1 기본 데이터 구조 ※ 배열 - 동질성 배열(homogeneous array) : 항목들이 모두 동일한 타입으로 이루어진 데이터 블록 - 이질성 배열(heterogeneous array) : 유형이 다를 수도 있는 데이터 항목들의 블록 - 구성요소(component) : 이 블록들의 항목 ※ 리스트(list) : 순차적으로 배열되어 있는 항목들의 집합 - 헤드(head) : 순차적으로 배열되어 있는 항목들의 집합 - 테일(tail) : 리스트의 다른 쪽 끝 - 스택(stack) : 헤드에서만 항목들을 제거하거나 삽입할 수 있는 리스트의 한 유형 - 상단(top) : 일상적 표현에 따라 스택의 헤드를 스택의 상단이라고 함 - 하단(bottom) : 스택의 테일 - LIFO(Last in, First ..