분류 전체보기359

main함수 위치를 찾는방법 가끔 목적지을 바라보지만 반대방향으로 가고있는 고장난 네비게이션(나)을 발견합니다. 분석할 때도 마찬가지입니다. 그래서! 바이너리 내에서 메인함수에 가기위한 이정표를 만들어볼까 합니다. 그 전에 분석을 하기 위해서는 분석 툴이랑 친해져야겠죠? 올리디버거와 이뮤니티 디버거의 단축키를 보겠습니다. 이정도만 익숙해지기로 하고 메인함수를 찾으러 갈게요. 메인함수로 가는 길 1. stub code를 지나기 stub code인지 아는 방법은 call을 만날 때마다 [F7]을 눌러서 들어가보고 실행되야 하는 함수가 보이지 않으면 [Ctrl + F9]를 눌러서 RETN까지 실행합니다. 7ip. 만약 CALL Kernel32.*가 있다면 우선은 패스하는 것을 권장합니다. 이유는 그 API의 내부 구현이 어떻게 되는지는 .. 2020. 3. 2.
사내 해킹메일 대응훈련 일반 회사의 경우 보안팀에서 직접 해킹메일 대응훈련을 하고 이를 인사고과에 반영합니다. 즉, 관련없는 이상한파일을 열람하지 말라는 의미겠죠? 그럼에도 불구하고 메일을 하나라도 안 열어보면 입 안에 가시가 돋는 사람들도 있습니다. 스팸으로 차단되었지만 복구해서 확인하려는 섬세함까지 갖춘 사람도 있습니다. 이런분들은 공격자를 설레게 만들어주는 분들이죠!! 제가 있는 곳만해도 보안뉴스나 데일리시큐 기사에 나온 악성메일이 날라옵니다. 실제로 악성코드 분석할 능력은 안되지만 관심이 있는만큼 분석을 하기위해 노력이라는 것을 해볼까 합니다! 아는 지인은 회사에서 해킹메일훈련을 한다고 해킹메일에 사용될 악성파일(착한)을 만들어야 한다고 연락이 왔습니다. 보통은 악성첨부파일을 실행시킨 IP정보와 사용자이름 등을 Comm.. 2020. 2. 15.
PE 파일 포맷 사람을 볼 때 외면보다는 내면의 아름다움을 보는 것이 중요하다는 말이 있죠? 실행파일도 마찬가지랍니다. 겉에 보이는 아이콘과 파일명을 보지말고 실행파일의 내면(PE구조)를 보면 나쁜파일을 걸러내기 유리하겠죠? 이러한 마인드를 소유하고 계시다면 분석할 기본소양이 갖추어지셨다고 생각합니다. 구글에 "PE구조"라고 검색 후 이미지를 보면 ... ... 할 말을 잃죠.. "이것을 모르고 분석을 하면 어떨까?" 라는 생각을 하게 되죠? 그러나 프로그램을 실행시키면 메모리에 올라가서 프로세스가 됩니다. 프로세스에 로드할 때 어떻게 적재가 되는지도 알 수가 없습니다. 1) 어디서 시작하고 각 섹션별 위치나 크기정보를 알 수 없으며 결론은 해야한다는 말이 되겠네요.. 그러나 외우다가 지쳐서 분석은 해보지도 못할 가능성.. 2020. 1. 21.
케이쉴드주니어 3기 수료식 / 4기 모집 안녕? 혹은 안녕하세요? 저는 3개의 프로젝트를 마무리하면서 최근에 블로그에 자주 접속을 하지 못했습니다. 그 기간동안 케이쉴드 주니어 3기도 수료하였습니다. 2019년 12월 12일 15시 서울 라마다호텔 2층 신의정원 홀에서 케이쉴드 주니어 3기 수료식이 진행되었습니다. 19년 12월 12일!! 많은 사람들이 무대에서 상을 받았어요. 저도 꽃다발과 KISA인증서를 받았습니다. 성실하고 모범?적인 생활을 하여 수료증과 인증서 모범상을 받았습니다!! 서로를 잘 이끌어주는 팀원을 만났기 때문이겠죠? 얼굴은 부끄러워서 공개하기가 조금 그러네요. 11월 27일 수요일에 프로젝트 설명회가 있었습니다. 각 팀별로 3개월간 진행한 프로젝트에 대한 결과를 발표하는 것이죠!! 24개팀정도가 진행했고 저희팀은 좋은 점수.. 2020. 1. 6.
[악성코드 분석]드롭퍼/다운로더(2) [악성코드 분석] 드롭퍼/다운로더(1) 요즘 영화나 드라마 볼 시간은 없지만.. 가끔.. 아주 가아끔.. 영화나 드라마를 볼 때 자신은 뒤에 숨고 다른사람을 이용해서 지저분한 짓(비리, 불법행위 등) 하는 사람을 본 적이 있나요? 또한 ccurity.tistory.com 위 페이지에서 분석을 완료했지만 프로그램 시작부분에서 계속 삽입했던 shellcode부분에 대한 내용은 다루지 않아서 이 페이지에서 적어볼까 합니다. (사실 shellcode 부분을 이제서야 다루는 이유는 FS레지스터, TEB, PEB 등에 대한 이해도가 부족했기 때문입니다 하하) 원래 Entry Point부분부터 스택영역에 값을 삽입하고 있는 shellcode를 Entry Point에 그대로 복사를 해보도록 하겠습니다. EP부분에 복사.. 2019. 11. 14.
[악성코드 분석] 드롭퍼/다운로더(1) 요즘 영화나 드라마 볼 시간은 없지만.. 가끔.. 아주 가아끔.. 영화나 드라마를 볼 때 자신은 뒤에 숨고 다른사람을 이용해서 지저분한 짓(비리, 불법행위 등) 하는 사람을 본 적이 있나요? 또한 왜 자신이 직접 지저분한 짓을 하지 않고 돈주고 시킬까요? 아마도 지저분한 짓을 하는 과정에서 문제가 생기더라도 자신은 걸리지 않도록 하기 위해서가 아닐까요? 프로그램 내에서도 이러한 지저분한 짓을 하는 프로그램이 있답니다. 그 프로그램은 드롭퍼랑 다운로더 두 가지가 있습니다. 드롭퍼는 악성코드를 자신의 몸에서 꺼내서 생성하고 실행시키는 프로그램입니다. 다운로더는 악성코드를 외부에서 다운로드 후 실행시키는 프로그램입니다. 왜 드롭퍼와 다운로더가 악성코드를 따로 만드는지 궁금한가요? 똑같습니다. 악성코드를 자신이.. 2019. 11. 13.
파일을 입력받는 프로그램의 취약점분석 및 공격 어느새 Exploit을 작성하기 좋은 계절?인 겨울이 다가왔습니다. Exploit을 작성할 생각에 벌써 설레지만 이론부터 볼까요? 위 그림에 대해서 간단히 설명을 드리겠습니다. 시나리오 1) 인사담당자들 혹은 이력서와 같이 hwp확장자의 파일을 메일로 보내면? 이력서.hwp를 다운받고 더블클릭을 합니다. 이력서.hwp는 한글프로그램을 실행키면서 자신을 입력으로 넣습니다. 만약 이력서.hwp가 한글프로그램에 대한 payload이고? 확장자만 hwp라면? 어떨까요? 시나리오 2) 파일공유 사이트에 많은 사람들이 흥미로워 할만한 파일명으로 올린다. .mp4 등을 실행시키면 레지스트리에 등록된 플레이어가 실행되고 동영상파일이 입력으로 들어가겠죠. 이것도 확장자만 mp4이고 실제로는 플레이어의 취약점에 대한 공격.. 2019. 11. 12.
[프로젝트] 인공지능을 이용한 악성코드 탐지 시스템 Malware Detection System Using Artificial Intelligence 입니다. 만들어진 프로그램명은 AI_Malware_Detection입니다. AI_Malware_Detection은 어디선가 받은 파일이 악성인지 정상인지 알려주는 프로그램입니다. 기존에 있는 백신이나 악성유무를 판단해주는 프로그램은 알려진 악성코드에 대해서만 가능하지만 AI_Malware_Detection는 AI기반이기 때문에 "기존 악성코드와 비슷하다면 이것은 악성일 것이다"라고 추측을 해줍니다. 발표하는 일은 매 번 떨리지만 여기저기서 잘할 수 있을거라는 응원을 해줘서 감사하게 생각하고 자신감을 얻은 덕에 발표는 무사히 마쳤습니다. 프로젝트를 도와주거나 발표하는 모습을 찍어준 제 팬들에게도 고마웠죠 발표.. 2019. 11. 11.
어제 오늘 그리고 내일 세상에서 엄청 힘든 것 중 하나는 아침 일찍 일어나는 것 같아요.. 그러나ㅏㅏ 어제의 나와 오늘의 나.. 해시값이 동일하다면 아마.. 한 바이트의 발전도 없는거겠죠 하하.. 뇌의 NULL로 채워진 섹션에 기억을 한 바이트씩 write한다면..? 빛나는 내일을 향해 한 걸음씩 다가가고 있는거겠죠? 단지 지식이 아니더라도 좋은 사람들과의 기억을 write해 놓으면 가끔 이자가 붙어 추억이 되기도 한다는 속설도 있답니다. 오늘은 어떤 좋은 기억이 write될지 기대하며 좋은하루가 되길!! - 이어폰을 집에 놓고 지하철을 탄 아침에 - 2019. 11. 7.
[WISET] 2019 공학연구제팀 심화과정 결과발표 2019 과학기술정보통신부 공학연구팀제 지원사업 결과발표회가 2019년 10월 25일 금요일 13:00 한국과학기술회관(강남역 12번출구 쪽)에서 한국정보과학회 주관으로 진행되었습니다. 여대학원생이라고 적혀있지만 남자도 가능합니다. 6개월 간 달려온 마무리를 짓는 순간이네요. 다른팀들은 대부분 대학원생과 대학생이 같은학교 소속이지만 저희팀만 3개 학교로 구성된 다채색 팀이 되었네요. 처음에는 소프트웨어 안전성을 검증하기 위한 목적으로 1) 소프트웨어 취약점 탐지 자동화 2) 탐지된 취약점에 대한 자동 공격코드 생성 (AutoAuto Exploit Generation) 3) 취약점에 대한 패치 자동화(일부) 기능을 보유한 솔루션을 제작하여 연구추진 계획서를 작성하게 되었습니다. 현재 상태는 어느정도의 취약.. 2019. 10. 26.
[제 14회 중고생 정보보호 올림피아드 안드로이드] 출제후기 및 Write up 제작년 12회에는 네트워크 문제팀과 DDoS탐지 및 방어를 했고, 작년 13회에는 운영팀에서 웹서버 및 전체운영, 시스템팀 소속에 있었으며, 이번 14회에는 시스템팀과 안드로이드팀 소속으로 문제를 출제하게 되었습니다. 예선은 9월 20일 토요일 온라인, 본선은 10월 25일 금요일 국회의사당에서 진행되었습니다. 그럼 예선 Q3 안드로이드 문제풀이를 시작하겠습니다. 먼저 저의 안드로이드는 루팅된 상태입니다. 제 핸드폰의 IP는 172.16.100.6입니다. $ adb connect 172.16.100.6 명령어로 연결을 하였습니다. $ adb install -r ./Q3.apk 명령어로 휴대폰에 apk 설치하였습니다. 오오 정상적으로 Q3을 받았습니다. 이 부분은 핸드폰으로 대회사이트에 접속해서 파일을 다.. 2019. 10. 26.
[제 14회 중고생 정보보호올림피아드 시스템1] 출제 후기 및 Write-up 제작년 12회에는 네트워크 문제팀과 DDoS탐지 및 방어를 했고, 작년 13회에는 운영팀에서 웹서버 및 전체운영, 시스템팀 소속에 있었으며, 이번 14회에는 시스템팀과 안드로이드팀 소속으로 문제를 출제하게 되었습니다. 예선은 9월 20일 토요일 온라인, 본선은 10월 25일 금요일 국회의사당에서 진행되었습니다. 그럼 예선 Q4 시스템1 풀이를 시작하겠습니다. 실행하자마자 입력을 12개나 받습니다. 또한 메모리가 오염되었나 봅니다. 이 말은 입력이 이상하거나 뭔가 꼬여서 변경해야 하거나 둘 중에 하나겠죠? 간단하게 정보보고 가실게요. 눈감고 봐도 64비트 ELF헤더입니다. 두근두근 열어볼까요? ①은 시작할 때 출력해주고 ②와 같이 11보다 작거나 같을때까지 입력을 받네요. 13번째에 ④에 있는 Verify.. 2019. 10. 25.