전체 208

Mail Encoding & UTF-8 <-> Unicode 변환

=?UTF-8?B?XXXX?=메일전송에서 사용되는 인코딩 방식 중 하나인 것 같다. 주로 제목이나 보내거나 받은 사람, 파일 이름에 사용된다.이 방식이 사용되는 이유는 메일 전송에서 사용되는 언어가 꼭 알파벳이라는 보장은 없다.한글일 수도, 일본어일 수도 있다. 그렇게 되면 아스키값으로만 표기할 수 없다.따라서 이 같은 형태를 취함으로써 사용가능한 문자열을 넓힌다. 형식은 다음과 같다.=?charset?encoding?encoded-text?=charset : 인코딩된 문자열의 charset을 의미한다.encoding : B와 Q, 둘 중 한가지의 값을 가지며 B일 경우에는 Base64 인코딩이 되어있다는 의미이다.encoded-text : 말 그대로 인코딩된 문자열이다. 다음은 예시이다.=?UTF-8?..

기타 2016.07.21

Google Map API 사용(Static)

구글에서 제공하는 Google Map API중 위도, 경도 정보를 가지고 URL을 이용하여 지도정보를 가져오는 방법이다. https://developers.google.com/maps/documentation/static-maps/?hl=ko 위는 구글에서 제시한 예시이며 위 사진처럼 위도, 경도 정보를 가지고 zoom, size를 맞춰주면 사진을 가져올 수 있다. 필요한 형식은 다음과 같다.https://maps.googleapis.com/maps/api/staticmap?center=위도,경도&zoom=확대율&size=가로x세로 center의 값으로 위도 경도정보를 주면 그 정보를 중심으로 사진이 구성된다.위도, 경도는 DMS(도,분,초)가 아니라 Degree로 표현해야 한다.변환식은 다음과 같다.D..

기타 2016.07.21

포포포포렌식 #3

#1. 메모리 분석 #1-1. 운영체제 버전?보통 침해사고가 터졌을 때 따로 해당 pc의 ip주소와 운영체제 버전 정보 등을 따로 가져오는 것이 일반적이다.하지만 이 정보를 얻지 못한 경우, 메모리 덤프에서도 운영체제의 버전 획득이 가능하다.inp : volatility -f 메모리덤프 imageinfoinp : volatility -f 메모리덤프 kdbgscanvolatility의 imageinfo, kdbgscan 옵션을 이용하여 운영체제 정보를 획득할 수 있다.Win7SP0x86, Win7SP1x86을 확인할 수 있다. #1-2. 메모리 사본 확보 시간(한국 시간)은?지금까지는 파일의 변경 시간을 가지고 판단하였다. 보면 마지막 수정 시간을 확인할 수 있다. 이는 volatility의 프로세스 정보..

old 2016.07.12

System #1

#1. GOT, PLT? PLT(Procedure Linkage Talbe)Procedure의 실제 호출 코드가 저장되어 있는 테이블. GOT를 참조하여 실제 함수의 주소 값을 호출한다. GOT(Global Offset Table)실제 함수의 주소를 가지고 있는 테이블. 처음부터 테이블에 실제 함수주소를 가지고 있지 않고 내부 동작을 통해 테이블에 실제 함수 주소가 삽입되는 동작을 수행한다. http://training.nshc.net:8080/KOR/Document/[KOR-121205]_Linux_Format_String.pdf #2. Study_2 풀이 ● 왜 -1을 넣으면 뚫리는가? 취약점이 존재하는 vuln 함수 소스이다.보면 get_n 함수로 (&nptr, 4u)를 매개변수로 받는다. 소스는 ..

old 2016.07.08

포포포포렌식 #3

#1. 메모리 분석 #1-1. 운영체제 버전?보통 침해사고가 터졌을 때 따로 해당 pc의 ip주소와 운영체제 버전 정보 등을 따로 가져오는 것이 일반적이다.하지만 이 정보를 얻지 못한 경우, 메모리 덤프에서도 운영체제의 버전 획득이 가능하다.inp : volatility -f 메모리덤프 imageinfoinp : volatility -f 메모리덤프 kdbgscanvolatility의 imageinfo, kdbgscan 옵션을 이용하여 운영체제 정보를 획득할 수 있다.Win7SP0x86, Win7SP1x86을 확인할 수 있다. #1-2. 메모리 사본 확보 시간(한국 시간)은?지금까지는 파일의 변경 시간을 가지고 판단하였다. 보면 마지막 수정 시간을 확인할 수 있다. 하지만 마지막 수정 시간 즉, 덤프가 끝..

old 2016.07.05

Suninatas / Forensic 39 (BR 복구)

Suninatas 39문제는 위와 같다. 문제를 읽었을 때 먼저 생각한 것은 다음 부분이다. .... 신입 직원에게 맡겼으나 Hex Editor로 여기 저기 둘러보다 실수로 특정 부분이 손상되고 이미지가 인식되지 않는다.-> HexEditor로 직접 바이너리값을 건드려 오류가 났다면 다음 방법으로 복구할 수 있다.1. WinHex와 같은 툴을 이용하여 데이터를 직접 카빙한다. -> 1기가에 다르는 USB이미지이므로 너무 오래 걸린다.2. FTK등과 같은 툴로 이미지 인식이 가능한지 확인해 본다. -> 문제에서 제시된 이미지는 인식이 불가능 하였다.3. 직접 HexEditor를 이용하여 USB이미지의 훼손된 부분을 복구한다. 이 문제의 경우 3번 방법을 이용하였다. FTK에도 인식이 되지 않는다는 것은 B..

old 2016.06.27

포포포포렌식 #2

# IOC?IOC는 Indicator Of Compromis의 약자로 침해지표는 침해 상황을 식별할 수 있는 포렌식 아티팩트라고 한다. 일종의 IDS와 같다고 생각된다.특정 침해 상황을 미리 지정해 놓고 그에 상응하는 침해 결과가 나오게 되면 미리 작성된 침해지표를 통해 탐지가 가능한 것이다.보면 다양한 지표가 있다. 문제에서 예시로 나온 hosts 파일 변조의 경우 파일 변조를 위해 접근한 경로를 파악하는 부분에서 '침해 유입 지표', 이후 변조된 hosts파일의 경로로 링크되는 '침해 실행 지표' 등을 생각 해 볼 수 있을 것이다. # IOCe 침해지표 구성IOCe를 이용하여 침해지표를 구성하는 방법이다. 만들려는 침해지표는 Hosts 파일의 변조 유무를 파악하는 것이다.구성 하고자 하는 가정은 다음..

old 2016.06.23

[고전암호] PlayFair 암호

평문 2자리씩 끊기-> 단, 연속된 문자열이 동일한 경우에는 중간에 임의의 값을 삽입한다.ex) message -> me sx sa ge 암호화 3가지 규칙1. 같은 Column에 존재할 경우-> 하나씩 아래로 내려 암호화2. 같은 Row에 존재할 경우-> 하나씩 오른쪽으로 밀어서 암호화3. 위 두가지에 해당하지 않는 경우-> 각 꼭지점을 기준으로 왼쪽, 오른쪽 끝의 문자열로 암호화 ex) key : crypt c r y p t a b d e f g h i k l m n o q s u v w x z plain text : hello split 2 words : he lx lo b d e h i k h -> ke -> b l m n q u v w x l -> qx -> u i k l o q s l -> i..

old 2016.06.21

포포포포렌식

#0. 조사1. 오프라인상태의 윈도우에서 Timezone을 확인하는 방법에는 무엇이 있고, NTFS와 FAT32 파일시스템에서 파일의 시간정보를 기록하는 방식에는 어떤 차이가 있는가? 윈도우 오프라인으로 디스크의 로컬 시간을 확인하는 방법은 레지스트리를 열어보는 방법이 있다.경로는 HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation 인데직접 레지스트리를 열 순 없으므로 SYSTEM하이브 파일이 존재하는 위치를 찾아가야 한다.C:\Windows\System32\Config 하위에 레지스트리 하이브 파일이 존재하며 여기에 SYSTEM도 존재한다.[ OSForensic으로 SYSTEM Registery파일 확인 ] FAT의 파일 시간정보 기록은 다음과 같다...

old 2016.05.26

TUCTF16 - Crypto

TU CTFCrypto 10 - 1번Crypto 문제는 연속된 문제nc로 146.148.102.236 24069로 연결을 하면 문제가 나온다.암호문에 해당하는 평문을 전송하면 되는데 한 번만 인증하면 되는 것이 아니라 50번을 해야 FLAG를 얻을 수 있다.보면 처음에 Welcome ~ 이 나오고 level 1, the Bookstore 메시지가 뜬다. asdf는 내가 기입한 문자이고 asdf를 입력하는 그에 해당하는 모스부호를 준다.그리고 What is ~ 이후 모스부호를 주는데 이 모스부호에 해당하는 평문값을 넘겨주면 해당 라운드는 클리어이다.예를 들어 -.. --- -. - ..-. --- .-. --. . - .- .. .-. -.-- -. 를 모스부호로 변환하면 DONT FORGET AIRYN ..

old 2016.05.16