본문 바로가기
반응형

Security100

[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.
[Reversing] DEFKTHON 2014 Reversing100 위의 프로그램을 클릭하면 msgbox가 뜨는 형태의 프로그램입니다. 위 프로그램은 .NET Reflector로 쉽게 접근할 수 있었습니다!! 우선 밑에는 초기화부분 ~ Click을 하면 이벤트가 발생되는것 외에는 따로 하는 일이 없네요! 근데 노란색 줄을 보시면 "key is md5(sha1)"이 보이는데 일단 알아두고 다음 함수를 보시죠. Userhint()부분인데 "get_key_from_hint"가 보이네요. 힌트에서 key를 얻어라는데 위에서 봤던 key is ~가 힌트가 될듯 합니다!! 마지막으로 메인부분! 예외처리로 되어있고 당연히 Int.Parse()부분에서 예외가 발생하여 프로그램은 죽게됩니다. 여기서 코드를 바꿔보기도 했는데 아무것도 안되더라구요... 근데 Int.Parse()안에 노란줄.. 2014. 3. 4.
728x90