기본적인 버퍼오버플로우를 방지하기 위한 /GS 옵션으로 컴파일된 파일 (  Security Cookie ) 에 


대한 우회기법입니다. SEH Overflow 로 알려진 기본적인 기법중 한가지 입니다.



windows_bufferoverflow(2)-SEH Overflow.pdf



웹 프록시 툴 burp suite 의 다양한 확장팩(?) 을 모아둔 사이트 입니다.


저도 최근에 관심이 생겨서 python 으로 된(정확히는 jython 을 이용하여 연결해주는) extionsion framework 를 공부 


중입니다. 아무래도 업무를 하다보면 자동화를 위해 툴제작을 할 수 밖에 없죠 ㅎㅎ


http://www.burpextensions.com/burpextensions.html


가지고 싶다...물론 조립보단 프로그래밍 하면서 이것저것 만들어 보고 싶어서 ^^




http://mindstorms.lego.com/en-us/Default.aspx




'잡담' 카테고리의 다른 글

마켓들 정보수집...이래도 되는걸까요?  (0) 2012.08.28


# 유용한 Windbg 확장 모듈    



1. !exploitable  


  - MSEC 에서 개발한 crash analyze 모듈로, exception 이 발생한 상태에서 해당 명령을 통해 실제 exploitable 한 

     지 여부를 알려준다. 


  - down: http://msecdbg.codeplex.com/releases/view/28935

  

  - 설치 : msec.dll 모듈을 디버거가 설치된 폴더의 winext 서브폴더에 복사(windbg 재시작)


  - usage : 

    > !load winext/msec.dll

    > !exploitable


ex) 아래와 같이 소프트웨어에서 예외가 발생하였을때 exploitable 한지 확인하기 위해 사용 가능


 0:000> !exchain

TRIAGER: Could not open triage file : C:\Program Files\Windows Kits\8.0\Debuggers\x86\triage\oca.ini, error 2

TRIAGER: Could not open triage file : C:\Program Files\Windows Kits\8.0\Debuggers\x86\winxp\triage.ini, error 2

TRIAGER: Could not open triage file : C:\Program Files\Windows Kits\8.0\Debuggers\x86\triage\user.ini, error 2

0012fa84: 41414141


0:000> !exploitable

Exploitability Classification: EXPLOITABLE

Recommended Bug Title: Exploitable - User Mode Write AV starting at SoriTong!MmutilityC8_4+0x0000000000000c53 (Hash=0x62360131.0x10454c60)


User mode write access violations that are not near NULL are exploitable.





윈도우 환경에서의 기본적인 stack bufferoverflow 에 관한 글입니다. ^-^



windows_bufferoverflow(1)-basic bof.pdf



이전글에 이어서 Windbg 기본 명렁어 정리 중입니다.


역시 뭐든 안하면 까먹어요...열심히 합시다!!




- dt : dump variable info

 

  dt [mod!]Name Field [Field]

 ex) dt ntdll!_PEB


 > dt !_PEB // PEB 구조체 확인


 > dt !_PEB @$peb  // 현재 프로세스 PEB 확인

  +0x000 InheritedAddressSpace : 0 ''

   +0x001 ReadImageFileExecOptions : 0 ''

   +0x002 BeingDebugged    : 0x1 ''

   +0x003 SpareBool        : 0 ''

   +0x004 Mutant           : 0xffffffff Void

   +0x008 ImageBaseAddress : 0x00400000 Void

   +0x00c Ldr              : 0x00241ea0 _PEB_LDR_DATA

   +0x010 ProcessParameters : 0x00020000 _RTL_USER_PROCESS_PARAMETERS

   +0x014 SubSystemData    : (null) 

   +0x018 ProcessHeap      : 0x00140000 Void

   +0x01c FastPebLock      : 0x7c9ad600 _RTL_CRITICAL_SECTION

   +0x020 FastPebLockRoutine : 0x7c931000 Void



 - du : dump unicode string

 

 > du 00401000   // 401000 유니코드



 - dd : dump


 > dd 0046c6b0 0046c6c4

0046c6b0  00000000 00000000 00000000 00000000

0046c6c0  00000000 00000000



 - s  : search (중요!)


 0:014> s -a 00e70000 10071000 cmd

00ea8251  63 6d 64 00 00 00 00 2e-65 78 65 00 00 00 00 2e  cmd.....exe.....

01f17152  63 6d 64 0d 0a 00 41 63-63 65 70 74 3a 20 61 70  cmd...Accept: ap

024f2d74  63 6d 64 2e 65 78 65 00-0d f0 ad ba 0d f0 ad ba  cmd.exe.........

02520d3c  63 6d 64 2e 65 78 65 00-00 00 00 00 31 00 00 00  cmd.exe.....1...

02742d74  63 6d 64 2e 65 78 65 00-0d f0 ad ba 0d f0 ad ba  cmd.exe.



  - !heap :  heap 메모리


 0:014> !heap -stat

_HEAP 00dc0000

     Segments            00000001

         Reserved  bytes 00010000

         Committed bytes 00007000

     VirtAllocBlocks     00000001

         VirtAlloc bytes 00dc0050

_HEAP 003b0000

     Segments            00000002

         Reserved  bytes 00110000

         Committed bytes 00072000

     VirtAllocBlocks     00000000





그동안 손 놓고 있던 시스템 쪽을 다시 열심히 하기로 마음먹었다. 까먹지 않게 하나씩 다시 정리해야지.


다 까먹었다....  : ( 





# Windbg 기본 #


- 장점 : MS지원(symbol 등) / 강력한 커널디버깅 / 익숙해질시 편함

- 단점 : UI 가 불편함 = 단축키 익숙해지면 편함. 하지만 자꾸 까먹음




1) .help - 도움말 / .hh(F1도움말)




2) 디버깅


  - .attach : attach

  - .restart : 어플 재시작

  - .detach : detach


  - ctrl+break : 명령 콘솔(중지)

  - g : 실행


  - lm : list module   

0:014> lm

start    end        module name

00380000 00389000   Normaliz   (deferred)             

00400000 004be000   image00400000   (deferred)             

00ba0000 00ca3000   comctl32_ba0000   (deferred)             

00e70000 00f0f000   MSRMfilter01   (deferred)        


  - !dmi : 모듈 상세정보


0:014> !lmi dnsapi

Loaded Module Info: [dnsapi] 

         Module: DNSAPI

   Base Address: 76ed0000

     Image Name: C:\WINDOWS\system32\DNSAPI.dll

   Machine Type: 332 (I386)

     Time Stamp: 485bec2a Sat Jun 21 02:43:06 2008

           Size: 27000

       CheckSum: 24da0 


 -  .tlist : tasklist

 

 - !peb : process's environment block


 - !teb : thread's environment block


 - ~ : thread list


 - bl : list breakpoints

 

 - bc * : clear all br


 - be # : enable bp #

 

 - bd # : disable bp #


 - bp [addr] : set br at addr


 - ba [r|w|e] [size:1|2|4] addr : 특정 메모리 읽기/쓰기/실행 시 stop 

   ex) ba r4 7c9311dd



3) 팁


  - 코드찾기

   > s [시작주소] l [범위] [코드] [코드] [코드]


 ex) 

0:014> s 01c20000 l 9000 58 5b c3

01ee7f03  58 5b c3 21 4e 90 a0 b4-6e 34 c3 b5 3e 65 c4 02  X[.!N...n4..>e..

0:014> u 01ee7f03




HTML5 / Hacking & Security

2012. 8. 3. 02:11


안녕하세요. 2년만에 다시 블로깅 시작합니다. 


( 요즘 더워서 그런지, 점점 나태해 지는 것 같아 공부에 대한 열정을 되찾기 위하여!!) 


첫번째 글은 Secuholic 6차 세미나에서 발표했던 HTML5 해킹&보안에 관한 자료입니다. 


HTML5 는 이미 다양한 사이트에 적용되고 있습니다. 좋은 예로 네이버 대용량 파일 첨부, 그림첨부 등이 ActiveX 


에서 HTML5 기반으로 바뀌었죠. 이로 인해 플러그인 설치 없이(새로고침 없이!) 다양한 기능들을 이용할 수 있게


되었습니다. HTML5 스펙이 확정되는 2014 년 이후에는 좀 더 많은 사이트에 적용이 되지 않을까 추측해 봅니다.


몇가지 새로운 특징들에 대한 소개와, 이 새로운 특징들을 이용한 공격유형에 대해서 다루었습니다.



# HTML 5 # 


- New Element ( Video, Audio, Canvas … )

- New Attribute

- New Handler

- Strong Web Form

- New API ( Drag&Drop , Communication, Geolocation, File … )

- Web Storage ( Web SQL Database, Session Storage, Local Storage )

- Web Worker

- Web Socket

                      ...


HTML5_security_hyunmini.pdf


Ctrec 문제 풀이

2010. 2. 3. 03:14


 레나 강좌를 보다가 실제 어플리케이션에 적용하는 예제가 있어서 공유하려고
공부겸 작성해 보았습니다. 물론 원문으로 된 강의도 있으니 참고하셔서 보시구요 ^^;

+ Recent posts