Sqix

Hitcon Training - Lab 01 : Sysmagic 본문

Wargame/HITCON Training

Hitcon Training - Lab 01 : Sysmagic

Sqix_ow 2019. 9. 9. 23:19

군 입대 이후 오버워치 리그 워싱턴 저스티스 쪽에서 코칭 어시스턴트로 일하다 다시 제대로 보안을 잡아보고자 합니다.

 

그 첫걸음을 Hitcon Training으로 시작하게 되었네요. Sysmagic 풀이 다시 시작해보겠습니다.

 

sysmagic.c 코드와 sysmagic 파일을 제공합니다. c코드를 보면 key와 cipher가 있고, /dev/urandom 함수를 이용해서 난수를 받아온 후 이것과 사용자 입력 패스워드가 일치하면 cipher과 key를 xor하여 flag를 제공해 줍니다. 

 

flag를 받기 위해선 urandom에서 주어지는 password를 입력해 분기문 조건을 강제로 맞춰서 바로 cipher과 key가 xor연산을 하여 flag를 뱉어내도록 하면 될 것 같습니다.

 

그러기 위해선 cmp eax edx 문에 bp를 걸어 놓고, edx의 값을 dec로 변경하여 eax에 넣어주면 됩니다.

 

ex) edx : 0x9bb38add(hex) = 2612234973(dec) 라면

 

set $eax = 2612234973

 

명령어를 이용하면 eax를 강제로 2612234973로 바꿔 값을 맞춰주기 때문에 flag가 나옵니다.

 

이렇게 말이죠.

 

 

Comments