분류 전체보기
Firewall Architectures
Firewall Architectures
2016.09.08Bastion Hostdef ) A bastion host is a system identified by the firewall administrator as a crtitical strong point in the network's security. Bastion Host는 이름처럼 어그로가 집중되는 곳으로 다른 서비스에 대한 위협을 감소시키는 목적으로 운용되는 system이다.여기저기서 중구난방으로 정의해놓았는데, 상기한 내용이 제일 일반적인 정의다. ( Marcus J. Ranum )아래 내용은 '보통 이래야 한다'고 적어놓은 내용들이다. 꼭 아래 내용을 모두 만족해야 bastion host인 것은 아니다.해당 컴퓨터에서 보통 proxy같은 single application만 hosting한다.노출..
Prefetch, Superfetch
Prefetch, Superfetch
2016.09.07Prefetch프리패치(Prefetch)는 윈도우 XP 이후 운영체제에서 제공하는 메모리 관리 정책으로, 실행파일을 메모리로 로딩할 때의 효율을 최대한 끌어올리기 위한 목적으로 개발되었다. 실행 파일이 사용하는 시스템 자원을 프리패치 파일(.pf)에 저장해 두었다가, 부팅 시에 프리패치를 모두 메모리에 로드하는 방식이다. (실제 사용할 때에는 메모리 매핑 해주는 방식) 프리패치 파일에 저장되는 정보 중 분석에 유용한 목록은 아래와 같다. 실행 파일 이름실행 파일의 실행 횟수실행 파일의 마지막 실행 시간프리패치 파일의 생성 시간(파일 최초 실행 시간)실행된 볼륨의 정보실행파일 실행 시 참조하는 파일의 목록 하지만 프리패치의 사용은 메모리의 페이징 아웃 기법(오래 사용되지 않는 메모리 영역을 잠시 보조저장장..
OpenSSL Heartbleed
OpenSSL Heartbleed
2016.09.07TLS는 확장 프로토콜로 Heartbeat를 사용한다. ( RFC 6520 )Heartbeat는 Client와 Server가 connection이 제대로 유지되고 있는지 확인하기 위해 사용한다. Client는 Heartbeat를 이용하여 임의의 값을 그 길이와 함께 Server에 전송,Server는 받은 임의의 값을 Client에게 돌려보내는 과정으로 이루어진다. 임의의 값과 그 값의 길이 정보가 일치하지 않는다면 응답하지 않는 것이 정상이나, Heartbleed 취약점은 Server가 이것이 일치하는지 검증하지 않고 응답하면서 발생하는 취약점이다.Client가 "Hi!", 30Byte라고 보내면 Server는 "Hi!:?aw^er?435ˇs........awe23.4.rw234", 30Byte와 같이 ..
Windows 악성코드 감염시 처리 프로세스
Windows 악성코드 감염시 처리 프로세스
2016.09.07초기 분석프로세스 확인네트워크 패킷 확인system32 확인host파일 변조 확인레지스트리 확인 주로 HKLM & HKCU\Software\Microsoft\Windows\CurrentVersion\Run.*Temp 폴더 확인 - 보통 다른이름으로 복사해 실행된다. 이후 여러 툴을 이용해 상세 분석하고, 악성코드 식별 시 리버싱. svchost`` svchost.exe``는 프로세스 하나 당 서비스 하나를 실행시키는 프로세스로, 반드시 `` winlogin.exe - services.exe``의 자식 프로세스로 존재해야 한다.단독으로 존재하거나, 실행 레벨이 `` services.exe``와 동급이라면 악성코드일 가능성이 크다.windows 7으로 넘어오면, `` wininit.exe - services..
USB 사용 기록 조사
USB 사용 기록 조사
2016.09.06```bashEvent viewer -> system32 log (%SystemRoot%\inf\Setupapi.dev.log) -> registry```순으로 확인한다.이벤트 뷰어랑 log는 기록이 누락되어 있는 경우가 잦다.레지스트리를 직접 보려면 레지스트리 분석 도구를 이용해야 하기 때문에 어차피 도구를 이용할 거라면USBDeview를 이용해서 보는 편이 낫다. USB Device Tracking Artifacts on Windows 7, 8(RP) Artifacts Path Vendor & Product Name, Version HKLM\SYSTEM\ControlSet00#\Enum\USBSTOR\Disk&Ven_{Vendor Name}&Prod_{Product Name}&Rev_{Version}..
Tools - Forensic
Tools - Forensic
2016.09.05이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
15'' whitehat contest, (= 16'' UXG)
15'' whitehat contest, (= 16'' UXG)
2016.09.04hwp 파일이 삽입된 pct파일(mac 이미지 확장자)을 읽을 때, imsReadChar 함수를 사용하게 되는데, 이 때 size검사를 하지 않아 BOF 취약점이 존재한다. isgdi32.dll 로드 -> impct9.flt ( parser ) 로드 -> isgdi32.dll의 imsReadChar함수 호출 하는 식으로 동작한다. 1차 BOF는 정상적인 hwp.exe module에서 imsReadChar를 호출하는 과정에서 발생하는데, 이 때 1Byte를 size로 읽어와서 전달하기 때문에 256Byte 이상 쓸 수 없다. 그래서 1차, 2차로 나눠서 code를 삽입했다.injection된 code의 동작은 이렇다.일단 RTL해서 VirtualAllocEx를 호출한 후, RETN하며 injection c..
DLL, DLL mapping과 API 주소 결정 방식
DLL, DLL mapping과 API 주소 결정 방식
2016.09.03DLL, Dynamic Link LibraryDLL은 자신을 필요로 하는 프로그램이 실행될 때, 프로그램과 별도로 최초 한 번만 physical memory에 loading된 후 프로세스에 mapping 되는 방식으로 사용된다.OS는 dll별로 usage count를 유지하고 있으며 usage count가 0이 되면 이 dll을 참조하는 프로세스가 없다는 의미이므로 dll을 메모리에서 unloading한다. * 프로세스에서 DLL에 접근할 때는 VA를 사용하기 때문에, 같은 physical address를 참조하더라도 pointer 주소는 다 다르게 나온다. (Image base 대로 mapping 됐다면 같을 수도 있지만.) e.g.*nix에서 PLT, GOT를 사용하는 것 처럼, mapping(imp..
System [ Exploit ]
System [ Exploit ]
2016.09.03이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.
Anti debugging
Anti debugging
2016.08.31packer / protectorpacker패킹은 실행 압축이다. 압축으로 PE file의 크기를 줄이는게 목적이다.런타임에 언패킹 코드를 먼저 실행해 패킹이 풀리기 때문에, 메모리에 올라가는 코드는 차이가 없다.압축하다보니 언패킹 하기 전 바이너리나 섹션, IAT 등이 안보이는 부수효과도 있다.언패커가 공개되지 않은 패커일 경우 메뉴얼 언패킹 해야 하는데, 이 경우 리버싱을 어렵게 하는 효과도 있다.근데 어차피 리버싱을 어렵게 할거라면 안티 디버깅 등등이 들어가게 되기 때문에 사실상 packer 보다는 protector가 걸렸다고 봐야하는 경우가 대부분이다.언패킹 루틴을 빼면 성능의 차이는 없다고 봐야한다. protector리버싱을 막는게 목적이다.패킹에 Anti-Debugging, Code Obfus..
Base64 Radix64
Base64 Radix64
2016.08.31Base64 is a group of similar binary-to-text encoding. The Base64 index table: Value Char Value Char Value Char Value Char 0 A 16 Q 32 g 48 w 1 B 17 R 33 h 49 x 2 C 18 S 34 i 50 y 3 D 19 T 35 j 51 z 4 E 20 U 36 k 52 0 5 F 21 V 37 l 53 1 6 G 22 W 38 m 54 2 7 H 23 X 39 n 55 3 8 I 24 Y 40 o 56 4 9 J 25 Z 41 p 57 5 10 K 26 a 42 q 58 6 11 L 27 b 43 r 59 7 12 M 28 c 44 s 60 8 13 N 29 d 45 t 61 9 14 O 3..
IDA
IDA
2016.08.24이 글은 보호되어 있기 때문에 이것을 보려면 암호가 필요합니다.