openssl은 가만히 놔두자.

어느 순간 서버에 있는 모든 cron과 bot들이 작동을 멈추었다. 이유를 찾아보니 ASAN 어쩌구 하면서 에러를 뱉으며 죽었는데, 저번달에 segfault 나는 crash 분석하기 귀찮아서 asan 붙인다고 빌드하다가 실수한걸로 결론 땅땅.

openssl configure할 때 prefix를 /usr/local로 줘버려서 기존에 있는 친구들이 모두 asan이 적용된 library로 바뀌었다. 처음엔 이걸 모르고 apt로 re-install 해보고 symlink 버전 다른 것들 다 맞추고 별 쌩쇼를 다 했는데 그냥 build하고 install하니깐 고쳐졋다. ㅎ..ㅎ

# download *.tar.gz from https://www.openssl.org/source/
./Configure linux-x86_64 shared  no-md2 no-mdc2 no-rc5 no-rc4  --prefix=/usr/local
make depend && make && make install

대충 터졌던 시드를 공유하자면 요렇게 생김.

printf "ca\nreq\nreq --help" | LD_LIBRARY_PATH=/usr/local/lib openssl -> heap uaf -> can change pc directly
printf "rsa" | LD_LIBRARY_PATH=/usr/local/lib openssl -> memory leak 128bytes
bomb zz lol

애초에 openssl이 한번의 execution으로 multi command를 처리하려고 만들어진 것도 아니긴 한데 시간나면 fuzzing좀 돌려서 CTF에 내봐야 겠다 ㅋㅋ (어차피 코드 양이 별로 안커서 manual audit해도 상관 없을 듯)

요즘 너무 바빠서 일말고 암것도 못하고 있다 ㅜㅡㅜ 으쌰으쌰 파이팅

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.