최근에 새 블로그를 하고있습니다. 기록..

몇 주전부터 블로그 스팟에 새 둥지를 틀고 그곳에서 생활하고 있습니다.

파일 업로드도 안되고 그렇긴 하지만, 뭔가 국내 블로그보다 좀더 입맛에 맛게 사용할 수 있는 것 같습니다. :)

주소는 http://feedbeef.blogspot.com 입니다.

주로 제가 하는 연구분야에 관련된 글이 포스팅 될 것 같네요. :p

그럼 다들 좋은 주말 되세요! :)

Defcon18 Crypto 400 write-up Forensics

Type: Crypto
Point: 400
Question: crackme
Summary: RSA 768 bits crack
Answer: how long until 1024 falls by the wayside?

이 문제는 RSA 1월 초에 발표된 깨진 768비트 키를이용하는 공격이다.

이에 대한 Paper는 아래에 올려두었다.


우선 문제의 파일은 아래와 같다.


아래와 같은 방법으로 풀 수 있었다.

n0fate:Desktop n0fate$ mkdir c400
n0fate:Desktop n0fate$ cp defcon18/c400_95bcb7c5807a366d.gz c400
n0fate:Desktop n0fate$ cd c400
n0fate:c400 n0fate$ tar xvzf c400_95bcb7c5807a366d.gz 
x blob.dat
x pubkey.pem
n0fate:c400 n0fate$ file *
blob.dat:                 data
c400_95bcb7c5807a366d.gz: gzip compressed data, was "c400_95bcb7c5807a366d", from Unix, last modified: Sun May 23 12:17:36 2010
pubkey.pem:               ASCII text
n0fate:c400 n0fate$ cat pubkey.pem 
-----BEGIN RSA PUBLIC KEY-----
MGgCYQDK2YRVfJfgOUMaImrXJ/DG1D7z1BhGnxs3UEmyKYQ+6fg7H5dzisJ09fYf
QB8h8ZE+S2S7MbVaONOYwN/tALE5LwiJcRxEs1nnl2xhf8xzTwbj6VwmR2CRtS9G
LnlBPbUCAwEAAQ==
-----END RSA PUBLIC KEY-----
n0fate:c400 n0fate$ xxd blob.dat 
0000000: 8d33 84e4 1159 8ef3 0d52 db86 eaf8 1af0  .3...Y...R......
0000010: 0028 a37d 9e6f 79b0 4ba3 feb6 64df 9441  .(.}.oy.K...d..A
0000020: 9bc0 bf3a af54 babd c3a7 2087 3d0a a428  ...:.T.... .=..(
0000030: bc28 3a5c 3ee7 228e b089 b6b4 7434 133f  .(:\>.".....t4.?
0000040: b8f1 c870 889f 8f68 1ca1 c8e0 5de4 ee4f  ...p...h....]..O
0000050: f915 6040 1cb3 2c77 619a c210 1ab7 da09  ..`@..,wa.......
n0fate:c400 n0fate$ 
n0fate:c400 n0fate$ openssl enc -d -base64 -in pubkey.pem -out pubkey.decoded
n0fate:c400 n0fate$ xxd pubkey.decoded
0000000: 3068 0261 00ca d984 557c 97e0 3943 1a22  0h.a....U|..9C."
0000010: 6ad7 27f0 c6d4 3ef3 d418 469f 1b37 5049  j.'...>...F..7PI
0000020: b229 843e e9f8 3b1f 9773 8ac2 74f5 f61f  .).>..;..s..t...
0000030: 401f 21f1 913e 4b64 bb31 b55a 38d3 98c0  @.!..>Kd.1.Z8...
0000040: dfed 00b1 392f 0889 711c 44b3 59e7 976c  ....9/..q.D.Y..l
0000050: 617f cc73 4f06 e3e9 5c26 4760 91b5 2f46  a..sO...\&G`../F
0000060: 2e79 413d b502 0301 0001                 .yA=......

우선 인증서 구조 포맷을 기준으로 modulus 부분을 끄집어 내었다. 

00ca d984 557c 97e0 3943 1a22 6ad7 27f0 c6d4 3ef3 d418 469f 1b37 5049
b229 843e e9f8 3b1f 9773 8ac2 74f5 f61f 401f 21f1 913e 4b64 bb31 b55a 38d3 98c0
dfed 00b1 392f 0889 711c 44b3 59e7 976c 617f cc73 4f06 e3e9 5c26 4760 91b5 2f46 
2e79 413d b502

이 부분은 코드게이트 2010에 chal7과 타겟만 다를 뿐 실제로는 키가 같기 때문에, 동일한 풀이가 가능하다.

Codegate 2010 PreQual write-up: http://www.box.net/shared/4ep3jtncoi

768비트에서 이전 코드게이트의 풀이에 이용된 코드를 컴파일 하여 손쉽게 개인키를 생성할 수 있었다.


Codegate Chal7의 코드가 올라온 페이지: http://blog.stalkr.net/2010/03/codegate-decrypting-https-ssl-rsa-768.html
( thx to StalkR :) )

n0fate:c400 n0fate$ gcc -lssl -o create_private create_private.c
n0fate:c400 n0fate$ ls
blob.dat        create_private.c  pubkey.pem
create_private  e_os.h            pubkey.decoded
n0fate:c400 n0fate$ ./create_private
n0fate:c400 n0fate$ ls
blob.dat        create_private.c  private.pem     pubkey.pem
create_private  e_os.h            pubkey.decoded
n0fate:c400 n0fate$  
n0fate:c400 n0fate$ cat private.pem 
-----BEGIN RSA PRIVATE KEY-----
MIIBywIBAAJhAMrZhFV8l+A5Qxoiatcn8MbUPvPUGEafGzdQSbIphD7p+Dsfl3OK
wnT19h9AHyHxkT5LZLsxtVo405jA3+0AsTkvCIlxHESzWeeXbGF/zHNPBuPpXCZH
YJG1L0YueUE9tQIDAQABAmB0DeSHYEQoNbqtXhmQRTqdFtt5dtP4u5i/mcDAHL6b
nBK4CMgGg9HjRsFseawWKHTyjKYQwbl+Xh/66VclzgxrAxw+GIsXGHp5OzIsxABM
Vo52ybJYVC6iotbs1GL/9AECMQDuvm3SPOfpnA4iSf7MRBjDSvdOQYv6cUw3kYKE
FKsY8y/X4JMGKkmwMCJcyEX5mrUCMQDZgux7RA4oadJTXlH5G6zD6266BC4Qbm+H
XD0X5T22X//W5OmjYITOYPg9dU3X9wECMQCnEe/8Xc7U9fYWHL4H5+eEUuO5ibkR
K1Pw1w0ErQoGzbe/VFLOz6z9dNG3KBd/0rkCMQCXWi353DJJ1tDe6Bv8TlCah+Gl
mLEBCAedVgbA8OhPVl+tBd65q7jd7sXt5glDxQECMGPaTUJkasmL/oHWpol6MdKQ
dntcO36IGfmwHw6H2TJLFpeozkoCUIj7+MWl4ZXaag==
-----END RSA PRIVATE KEY-----

생성된 키를 통한 복호화

n0fate:c400 n0fate$ openssl rsautl -decrypt -in blob.dat -inkey private.pem -out result.dat
n0fate:c400 n0fate$ cat result.dat 
how long until 1024 falls by the wayside?
n0fate:c400 n0fate$

사실 크립토400문제를 잔뜩 기대하고 있었는데,

이미 널리 알려진 문제이고 코드게이트에서 이미 나왔던 문제가 똑같이 나와서 많이 씁쓸했다.

내년에는 주최측에서도 이런 부분에 대해 더 검증이 필요할 것 이라 생각한다. 

OffiSync Tool

요즘에 집에서 노트북, 학교 데스크탑, 가방에 넷북을 가지고 다니면서 논문 참고자료와 같은 동기화할 데이터 들이 생기고 있다.

일반 파일의 경우 Dropbox를 통해 편리하게 사용할 수 있었지만,

구글 독스의 문서파일을 실시간으로 편집하며 동기화할 수 있는 프로그램이 있지 않을까 해서 찾아보던 중

OffiSync프로그램을 발견할 수 있었다.

이 프로그램은 구글 독스의 문서를 MS 오피스와 연동하여 MS오피스에서 구글독스의 문서를 불러오고 편집하여 저장하면 구글 서버에 저장되는 프로그램이다.

이로써 문서편집도 매번 USB에 담을 필요 없이 편리하게 할 수 있게 되었다. :)

아래는 사용화면.



KoreaCrypt 2010 기록..

고대에서 보안과 관련된 컨퍼런스를 올해도 진행합니다.!

가격도 그렇게 비싸지 않으니 고대에서 어떤걸 연구하는지 궁금하신 분들은 찾아오시면 좋을 것 같습니다. :)



1 2 3 4 5 6 7 8 9 10 다음