Try Attack91

Cross Site Script(XSS) 여러분은 무엇이든 잘 믿으시나요? 기왕이면 들은 것보다 직접 본 것을 믿는게 좋을 것 같아요. 들은 것은 그 사람의 MSG가 포함되어 있을 수 있으니!! 보이는 것도 만들어진 진실일 수 있기 때문에 어느정도의 합리적의심은 필요하겠죠 ...더보기 나조차도 못 믿는데..ㅠㅜㅡ,. [00:00] -> 내일 일찍일어나서 공부해야지... [11:00] -> zzZ.. 보안에서 위험1순위는 사람이라고 합니다. 근데 너무 의심이 많으면 살기 힘들 것 같네요.. 재고 따지지 않고 믿을 수 있는 사람을 만들어 보세요. 가벼운사람보다는 무거운 사람.. 고민을 말할 수 있는 사람.. 고민을 말해도 다른사람에게 말하지 않을 그런 가볍지 않은 사람.. 마지막으로 사회공학에 강한 사람... 그런 사람이 주변에 있으시다면 부럽습니.. 2019. 9. 20.
불충분한 세션관리 잠이 오지 않는다면? 평소에 시간이 없어서 못했던 취미활동을 해보세요. 음악도 듣고, 영화도 보고, 산책도 하고, 책?도 읽고, 재미있는 드라마도 정주행하고 저도 열공하는 베짱이라.. 공부도 해야하지만.. 음악도 듣고, 기타도 치고, 단! 노래부를 땐 혼자 코노도 갑니다. 혼자가는 이유는? 제가 못해서,, 도 있지만 주변사람들이 너어어어어어어무 잘해서 그래서 ... 세상에서 가장 슬픈 세가지 할 수 있었는데 했어야 했는데 해야만 했는데 랍니다..(Louis E. Boone) 나중에 하지 말고 여유가 조금 생기면 취미를 가지는 것도 좋은 것 같습니다. 1. cookie와 session 1) cookie란? [1] 클라이언트 로컬에 저장되는 키와 값이 들어있는 작은 데이터파일 입니다. [2] 뭐.. 이름, .. 2019. 9. 20.
command injection 누군가 울고있어요. 창문 밖에서.. 귀뚜라민가? 그래도 자동차 경적소리보다는 좋네요.. 유저는 사악하다고 합니다. 입력할 때 이상한 값을 넣지요. 명령어 삽입? 뭘까요?! command_injection (경로조작 및 자원삽입, 허가되지 않은 명령 실행) 1) 정의 공격자가 입력값 조작을 통해 시스템 자원에 임의로 접근하여 자원의 수정, 삭제, 정보누출, 서비스장애 등을 유발시킬 수 있는 취약점 입니다. 적절한 검증을 거치지 않은 사용자의 입력값에 의해 의도하지 않은 시스템 명령어가 실행되어 부적절하게 사용자 권한이 변경되거나 운영에 악영향을 줄 수 있습니다. 2) 시연 [영상1] command_injection 3) 대응방안 [1] command기능을 사용하지 않습니다. [2] 정 써야한다면? 화이트리.. 2019. 9. 20.
메모리 상에 있는 code영역을 수정하는 프로그램 오늘이 내일이 되었네요. 바쁜하루를 보내고 바람을 쐬고 다시 컴퓨터 앞에 앉았습니다. 메모리 상에 올라와있는 프로세스의 code영역을 수정하는 프로그램을 만들기 위해서는 주의해야할 사항이 있습니다. 빠밤!! 먼저 타짜: 원 아이드 잭을 보셨나요? 저는 개인적으로 재밌게 보았습니다. 금수저나 흑수저나 카드 7장 들고 치는건 똑같답니다. 단, 잘 조작(변조)했다면 정상적인거고 애매하게 조작하려다 걸리면 죽는거구,, 프로그램도 마찬가지라는 생각이 드는건 기분탓이겠죠? 하하.. 어쨋든 포커에서 포카드이상 나올 확률로 수정할 영역을 사용하고 있는 스레드가 존재할 수 있으므로 명령어 바이트코드의 실제크기를 감안하고 스레드 동기화를 통해 해당 영역을 수정해야 합니다. 스레드 동기화라고요? 낯설지만 소개를 해볼게요. .. 2019. 9. 18.
Anti-VM 기법 뭘 했는지? 모르겠지만 벌써 추석이네요... 일어나니 4시가 넘었네요.. 다시 잘 준비를 하는게 좋겠죠?! [그림1] 랜섬웨어_실행 제 컴퓨터에서 테스트할 수는 없기 때문에 가상머신에서 테스트를 진행했습니다. 당연히 혹시모를 상황에 대비해서 네트워크 연결은 하지 않았구요!! Windows7에서 진행하였습니다. 가상머신이라도 아깝네요. https://www.boannews.com/media/view.asp?idx=80519 갠드크랩 최신 버전을 위한 복호화 툴, 무료로 배포 중 악명 높은 랜섬웨어인 갠드크랩(GandCrab)의 최신 버전으로부터 피해자들의 데이터를 살릴 수 있는 복구 툴이 개발돼 무료로 배포되고 있다. 현재 랜섬웨어 피해 복구 노력이 진행되고 있는 전 세계적인 프로젝트, 노모어랜섬(NoMo.. 2019. 9. 13.
[논문요약] 악성코드 정적탐지를 위한 PE의 Rich헤더 활용방법 악성코드를 정적으로 탐지하는 방법을 연구하는 과정에서 https://www.zdnet.co.kr/view/?no=20180309104954 "평창올림픽 해킹, 러시아-북한 소행 아니다" 평창동계올림픽 개막 직후 러시아와 북한 해커들이 IT 시스템 해킹을 시도했다는 소식 때문에 한바탕 소동이 벌어졌다.​하지만 당시 올림픽 시스템 해킹을 시도한 것은 이들이 아닌 것으로 드러났다.Ȁ... www.zdnet.co.kr 위와 같은 기사를 보았고 Rich헤더가 조작되었다고 말했습니다. 모든 기사를 100%신뢰할 수는 없지만 연구하는데 있어서 Rich헤더를 변조하면 다른사람으로 위장할 수 있다는 내용이 담겨 있네요. 그렇다면 Rich헤더는 무엇일까요? Rich헤더란? (리치헤더란?) 비정형 데이터구조를 가지고 있으며.. 2019. 9. 4.
악성코드 분석[4] x86 아키텍처에서 EIP는 instruction pointer나 program counter로 알려져있습니다. 즉, 프로그램에서 수행할 다음 명령어의 메모리 주소를 담고있는 레지스터입니다. 만약 이 EIP가 손상된다면 어떻게 될까요? EIP가 손상되었다는 말은 정상프로그램 코드가 아닌 곳의 메모리 주소를 가리킨다는 말이겠죠? ▶ CPU는 실행할 정상 코드를 가지고 오지 못하므로 실행 중인 프로그램은 종료될 것입니다. ▶ EIP를 제어할 때 CPU의 실행을 제어할 수 있습니다. ▶ 바로 공격자가 EIP타겟팅 하는 이유도 CPU의 제어권을 갖기 위해서이지요. ▶ 그래서 메모리상에서 자신이 실행하고자 하는 코드를 EIP가 가리키도록 합니다.!! mov와 lea명령어의 차이를 아시나요? "mov는 값을 옮기고.. 2019. 9. 1.
악성코드 분석[3] 1. 잠재적인 악성코드를 어떻게 찾을 수 있을까요? ▶ 특정 함수를 연달아 호출하거나 DLL injection등과 같이 사용하는 함수가 정해져있다면 악성코드일 확률이 높겠지요. ▶ 결국 프로그램 기능에 대한 힌트를 줄 수 있는 함수를 찾는 것이 중요합니다. 일반적으로 프로그램이 사용하는 공통 DLL을 알아봅시다. DLL Description Kernel32.dll 메모리, 파일, 하드웨어 접근 Advapi32.dll 서비스관리자, 레지스트리 등의 컴포넌트 User32.dll 버튼, 스크롤바, 인터페이스 등의 컴포넌트 GDI32.dll 그래픽 보기, 조작 Ntdll.dll 윈도우 커널 인터페이스 직접 import가 불가능하며 Kernel32.dll을 통해 import WSock32.dll Ws2_32.dl.. 2019. 8. 30.
악성코드 분석[2] 악성코드는 패킹과 난독화 기법을 사용합니다. 패킹은 압축돼서 분석할 수 없도록 난독화된 것을 말합니다. 난독화는 바이너리에 대한 은폐한 것을 의미하죠. 패킹되고 난독화 된 코드는 적어도 LoadLibrary()와 GetProcAddress()함수를 포함해요. 이 함수들은 추가함수를 로딩해 접근할 때 사용합니다. PE파일은 코드에 대한 정보, 애플리케이션의 유형, 필요한 라이브러리 함수, 메모리 공간 요구사항 등을 포함한 헤더로 시작합니다. 그러므로 악성코드 분석가에게 PE헤더는 가치있는 포장지같은 느낌이겠죠? 라이브러리 링크에 대해 볼까요? import하는 함수 목록은 실행파일에서 수집할 수 있는 유용한 정보입니다. import는 실제로 다른 프로그램에 저장되어 있지만 외부프로그램이 사용할 수 있도록 한.. 2019. 8. 28.
악성코드 분석[1] 악성코드 분석에 대한 지식을 정리해볼까요? 1. 악성코드 분석의 목표 네트워크 침입에 대한 대응을 할 때 필요한 정보를 알아내기 위해서 분석을 합니다. 즉, 대응 방안을 찾기 위해서죠. ▶ 무슨일이 발생했는지 ▶ 감염된 시스템과 파일이 무엇인지 ▶ 어떤 행위를 하는지 ▶ 피해규모는 어떤지 ▶ 그렇다면 어떻게 탐지해야 하는지? 위 내용들이 어느정도 되었다면 ▶ 네트워크기반의 시그니처와 호스트기반의 시그니처를 생성해야 합니다. 2. 악성코드 분석 기법 [1] 정적분석은? ▶ 프로그램의 명령어가 하는 작업이 무엇인지 파악합니다. ▶ 즉, 디스어셈블러에 대한 지식이 필요합니다. [2] 동적분석은? ▶ 디버거를 이용해 동작하는 악성파일의 내부 상태를 확인합니다. ▶ 실행파일의 세부정보를 알아내기 좋지요. 2019. 8. 28.
윈도우(Window), 메세지(Message) Windows API를 통해 간단한 Application은 만들어 보았지만 Application Hacking에 대한 이론이 옅어서 정리를 해보려고 합니다. 그럼 시작해 볼까요? 1. Window ▶ 1) Window란 무엇일까요? 사용자의 입력을 처리하고 결과를 보여주는 Windows OS의 가장 중요한 I/O 구성요소 입니다. Window에 알기 전에 먼저 Thread에 대해 알아야 합니다. 2) 그렇다면 Thread는? [1] Thread는 Window를 생성하고 소유할 수 있으며 Window를 제어하는데 사용되는 메세지를 수신하기 위한 메세지 큐(Message Queue)를 함께 가지고 있습니다. [2] 가지고 있는 메세지 큐에서 전달받은 메세지를 꺼내서 메세지에 대한 동작이 정의되어 있는 Cal.. 2019. 8. 27.
[연구] Windows binary vulnerability analysis[1] 먼저 지금부터 작성하는 내용은 정확한 내용이라고 할 수 없음을 알려드립니다. 왜냐하면? 연구하고 있는 부분이기 때문이지요. Symbolic Execution은 angr를 사용해서 진행하였습니다. 아래쪽에 진행한 내용에 설명이 있습니다. 1. 페이로드 생성 공격을 하기 위해 Shellcode를 만들어야 합니다. 1) 리눅스 system_call로 호출이 가능하고 32비트의 경우 0xb 64비트의 경우 0x3b 입니다. 2) 윈도우즈 Windows의 경우 API를 통해 호출 가능합니다. Kernel32.dll에 있는 WinExec()를 사용하면 됩니다. 2. 취약점을 찾는 방법 1) Unconstrained state를 찾기 crash가 발생한다면 오버플로우가 일어날 수도 있기 때문이지요. 2) Uncons.. 2019. 8. 22.