본문 바로가기
반응형

Security/[게임] CTF 풀이56

[EMBEDDED] backdoor2014 MISC200 writetup 8085 Emulator Download : http://gnusim8085.org/downloads.php md5("gnu_kills_cadet_in_war") flag :: 029cfd7535a67743d8ed481985f90335 2014. 3. 24.
[Network] backdoor2014 MISC10 writetup flag : efb8f4cd67963a5652ee0aa2187b830a 2014. 3. 24.
[Network] RuCTF2014 bluetooth writeups bluetooth의 전송을 캡처한 패킷 데이터가 문제로 주어졌습니다. 데이터는 connection information, send, recv 등 있고 패킷내용을 보면 SCO라는 것이 적혀있습니다. SCO란 Connection의 종류 중 하나인데 주로 음성데이터 전송할때 SCO방식을 사용합니다. 그럼 해당 패킷은 음성데이터들이 있을 것이고, 블루투스로 음성을 전송하려면 일반 format(*.wav, *.mp3 등)이 아닌 *.raw형식으로 데이터가 전송됩니다. *.raw파일의 내용을 패킷으로 보면 아래의 이미지처럼 표시되어 있어요! 4byte+48byte. 여기서 필요한 값은 헤더를 제외한 48byte인데 모든 패킷에서 무작정 parsing을 하게되면 잡음이 심하고 제대로 들리지 않습니다. 패킷에는 Sen.. 2014. 3. 11.
[Reversing] DEFKTHON 2014 Reversing200 실행시키면 입력값을 받고 죽는 바이너리. Segmentation Fault가 뜨는데 그냥 puts로 개발자가 출력하는거더라구요...ㅋㅋㅋ 그럼 분석 ㄱㄱ 위의 이미지는 main의 전체적인 부분이고 핵심은 아래 이미지입니다. pipe()로 무엇인가와 연결을 한 뒤 fork()를 호출합니다. fork()함수는 자식 프로세스를 생성하는데 부모프로세스에서와 자식프로세스에서의 fork()의 리턴값은 다릅니다. 부모에서 fork()를 하면 return값은 자식프로세스의 Process ID이고, 자식프로세스는 0을 리턴합니다. 즉, 자식프로세스로 진행을 한다면 if( !v4 )에서 이 부분에서 프로그램이 죽습니다. 죽기전에 하는일이 있는데 write를 이용해서 '42447255344574653276838751'를 입.. 2014. 3. 5.
728x90