분류 전체보기359

웹 로그 분석 Common Log File Format(CLF) Host Data and Time HTTP Request Status Code Bytes 12.123.234.34 [09/jun/2020:23:59:05] "GET /board/test.jpg HTTP/1.1" 200 1234 ▶ Date and Time은 클라어인트가 서버로 요청한 시간 ▶ 보통 HTTP Requset는 메세지를 제외한 Requset Line만 기록 ▶ bytes는 서버에서 클라이어느로 전송한데이터크기를 의미 / 단, 헤더는 제외 주의 깊게 볼 내용 (1) Request Method가 GET이나 POST가 아닌 경우 (2) Status Code가 404(Not Found)나 500(Server Internal Error)의 경우 (3) .. 2020. 6. 10.
정규표현식 정규표현식이란? ▶ 어떤 문자열의 집합을 묘사하는데 사용 ▶ 텍스트 스트링으로 정해진 구문 규칙 ▶ 특정한 규칙을 가진 문자열집합을 표현 ▶ 아스키코드만 가능 문자 기능 설명 ^ 처음 괄호안에 있으면 not 문자열이나 행의 처음을 의미 괄호 안에 있으면 부정을 의미 $ 마지막 문자열의나 행의 마지막을 의미 . 문자 1개의 문자와 일치 단일 행에서 개행은 제외 [] 문자클래스 ['와 ']' 사이의 문자 중 하나를 선택 '-' 기호와 함께 쓰면 범위지정 \ 특수문자처리 특수문자를 원래 문자의미 그대로 해석 * 0회 이상 0개 이상의 문자를 포함 + 1회 이상 1개 이상의 문자를 포함 "a+b"라면 "aaabbbbb"에서 "aaab"가 해당 ? 0 또는 1회 0개 또는 1개의 문자를 포함 만약 "a?b"라면 .. 2020. 6. 9.
우리집에서 메일 보고갈래? 안녕하세요!! 5월이가 가고 6월이가 오고 있는 지금은 편지를 주고받기 좋은 계절이네요! 맞다고 해주세요! 하하.. 우리집에서 메일을 보고가라고 여러분들을 꼬신 이유가 궁금하신가요? 바로바로바로 두구두구두구두구... 그저께 제가 휴가간 사이에 저의 사수?분께서 메일과 관련된 이것저것 쪽지를 보냈는데 덜떨어진 부사수(저에요;;)는 이해하지 못했기 때문에 관심을 가져볼까 합니다.. 메일이라는 너에게! 시작! 메일 헤더는 알고있다?! 여러분은 메일을 받으면 보낸사람정보를 알 수 있습니다. 이게 정말 믿을만한지는? 메일 헤더가 알고 있습니다. 그렇다면 메일 헤더에는 어떤 정보가 있을까요? 메일서비스를 제공하는 회사마다 조금씩은 다르지만 기본구조(눈 두 개, 코 한개, 입 한 개 와 같이..)는 동일하기 때문에 .. 2020. 5. 24.
WEB 기초 안녕하세요. 또 처음으로 돌아왔네요.. 저는 웹지식에 대한 부실공사가 너무 잘돼있어서 이번에 웹 기반지식을 깔끔하게 다져볼까 합니다. 1. 각각의 기능과 종류 1) 브라우저 ▶ Internet Explorer, Firefox, Chrome 등이 있습니다. ▶ 사용자가 웹서비스 요청시 사용합니다. ▶ 서버로부터 온 응답을 해석하여 화면에 보여줍니다. ▶ 브라우저가 해석하는 클라이언트 언어는 html, css, java_script가 있습니다. 2) 웹서버 ▶ IIS, Apache, Tomcat, nginx 등의 웹서비스데몬이 있습니다. ▶ 사용자가 요청한 데이터를 읽습니다. ▶ 웹서버만으로 처리할 수 없는 것은 WAS(Web Application Server)와 DB(Database)서버와 함께 처리합니다.. 2020. 5. 4.
[전지적해커시점] DLL Injection 안녕하세요. 여기 들어오신 분은 DLL injection이 궁금해서 들어오셨겠죠? 음... DLL Injection은 전지적 해커시점에서 보아야 합니다. 시작부터 무슨말이냐고요? 프로세스 하나를 보는 것이 아니고 어떤 프로세스가 어떤 프로세스에게 어떤 행위를 했다.. 그럼 무슨 일이 일어난다.. 그런데 이것을 왜? 할까.. 이런식으로 보자는 말이죠! 1. 상식알고가기 운전을 하려면 신호등 색이 의미하는 것을 알아야겠죠? DLL인젝션을 하기 전에도 알아야할 상식이 있답니다. [1] DLL(Dynamic Link Library)이란? ▶ 실행파일이 실행될 때 프로세스에 할당된 메모리에 함께 로드된다. [2] DLL의 특성 ▶ DLL은 메모리에 로드되면 DllMain을 실행한다. ▶ 이 말은 DLL을 프로세스.. 2020. 5. 3.
[악성코드분석] 코로나바이러스 안녕하세요. 4월 30일은 치킨을 먹으면서 행복하게 마무리했고, 자고 일어나니 5월 첫 날 새벽이 되었네요. 코로나 핑계로 탱자탱자 놀면서 4월을 흘려버렸는데 5월부터는 3가지정도 계획하고 지켜볼까합니다. 사람이라면여..? 하하 아무리 바빠도 한 달에 한 번정도는 놀러다니면서 말이죠!! 오늘은 4월이 끝나기 전 나타난 시스템파괴형 스크린락커 악성코드를 분석해보려고 합니다. 자기자신을 코로나바이러스라고 부르는데요? 상세분석이라고하면 조금 거창?하고 흐름만 살펴볼까 합니다. 악성코드 MD5 : 09387DAD1341F534AD51966168C0E4AF 매우 성가신 코로나 바이러스 스크린락커 발견돼 New Coronavirus screenlocker malware is extremely annoying 가짜 .. 2020. 5. 1.
(키보드훔쳐보기) 메세지후킹/키로거제작 후킹이란 무엇일까요? 위키백과왈 "후킹은 소프트웨어 공학 용어로, 운영 체제나 응용 소프트웨어 등의 각종 컴퓨터 프로그램에서 소프트웨어 구성 요소 간에 발생하는 함수 호출, 메시지, 이벤트 등을 중간에서 바꾸거나 가로채는 명령, 방법, 기술이나 행위를 말한다." 라고 합니다. 딱 봐도 나쁜기술로 보이네요. 쉬운 예로 조금 비싼?키보드에는 일반키보드에 없는 기능들이 있죠? volumn UP키, 잠금키 등은 원래 정의되어 있지 않기 때문에 키보드제조사에서 훅을 걸어놓고 특정한 키가 입력이 되었다면 원하는 동작을 하도록 재정의를 해준 것 입니다. 즉, 가로채서 변경한 것이죠! KVM스위치도 마찬가지입니다. 사용자가 키보드 입력을 할 때 특정 키가 입력이 되었다면 어떤 곳으로 보낼지 정의가 되어있는 것이지요! .. 2020. 3. 30.
PE파일 섹션 추가 및 삭제하기 종종 무언가를 하다보면 "나름대로 열심히했는데..." 되지 않을 때가 있죠? "나름대로"라는 말이 빠지고 "1분 1초도 아껴가며"라는 말이 들어가면 "1분 1초도 아껴가며 열심히 했는데..."가 되고 그러면 왠지 뭐든 될 것 같지 않나요? 하하 이와같이 PE파일에서도 필요없는 섹션은 제거하고 필요에 따라 섹션을 몇 개든 추가할 수 있답니다. 물론 한 바이트, 한 바이트 바이트수공업을 해야한다고 하면 포기하실수도 있으니 쉿,,, 전에 다룬 내용에서 .reloc섹션을 다루었으니 .reloc섹션을 지워보려고 합니다. exe파일은 제거해도 정상적으로 동작하지만 dll과 sys파일은 기본적으로 적재되는 위치가 정해져있기 때문에 실행되지 않을 가능성이 무지무지 높죠! 우선 .reloc섹션을 제거하기 위한 방법 1).. 2020. 3. 24.
PE재배치 화장실에 갔는데 말이죠! 앞사람이 계속 나오지 않는다면 어떻게 할까요? 다른 방법을 찾아봐야겠져? 실행파일도 마찬가지에요. 내가 메모리에 적재되어야 하는 장소에 다른 실행파일이 적재되어있다면 그 파일이 종료될 때까지 목빠지게 기다리다가 망부석이 될 가능성이 크지요. 망부석이 되면 안되기 때문에 다른 메모리장소(기준주소)를 얻어서 재배치 후 메모리에 적재가 됩니다. 파일이 메모리에 로딩될 때 재배치과정을 살펴보면 1) 하드코딩된 주소를 찾은 후 2) ImageBase만큼 뺍니다.(VA에서 RVA만 남겠죠?) 3) 실제 로딩된 ImageBase를 더해줍니다.(RVA에서 VA로 변경) 4) 그리고 메모리에 적재가 됩니다! 아 그런데 하드코딩된 주소는 누가 어떻게 찾냐구요? IMAGE_NT_HEADER - IM.. 2020. 3. 23.
명곡 잘못된만남 난 너를 믿었던 만큼 내 메일도 믿었기에 난 아무런 부담없이 내 첨부파일을 더블클릭했고 그런 만남이 있은후부터 파일이 하나씩 암호화되고 슬픈 시간을 보내며 난감해 하고 있는데 그런 만남이 어디부터 잘못됐는지 난 알수없는 예감에 조금씩 빠져들고 있을때쯤 이 파일이 랜섬웨어라는 것을 알게되었고 날 하나씩 암호화하던 그 어느 날 빰! 메모장여니 돈을 보내달라던 편지가 랜섬웨어 주인은 입금전까지 날 피하는 것 같아 그제서야 난! 느낀거야 모든것이 잘못돼있는걸 내 모든 파일은~ 암호화돼서 쓰레기가 됐지 있을 수 없는 일이라며 난 울었어~~ 내 파일과 돈을 모두 버려야 했기에 또다른 내 친구는 내 어깰 두드리며 다신 막열지 말랬지만 있지 못할 것 같아! 하핫! 슬픈노래군요?! 2020. 3. 15.
EasyCrackMe - reversing.kr 처음에는 어떤 것도 나와 맞지 않는 것 같지만.. 어떤 것이든 도전해보세요! 자석도 N극과 S극이 끌리듯이 나와는 맞지 않다고 생각했던 것도 반복하다보면 어느순간 가까워져 흥미를 느끼고 있는 분야를 발견할지도 몰라요. 우선 reversing.kr의 EasyCrackMe부터 들여다보겠습니다. 1. 정적분석 1) 기초정보확인 Type이 PE인 것을 보니 32비트 exe파일이네요. EntryPoint(ImageBase+Address of entrypoint)는 0x401188 입니다. 총 4개의 섹션(text, rdata, data, rsrc)이 존재합니다. 나와있는 섹션에 대한 간단한 설명을 보태면 .text 섹션은 코드영역(명령어 서식지)이라고 보면 됩니다. [그림1]에서 ImageBase가 0x40000.. 2020. 3. 12.
TCP/UDP/IP/ICMP 헤더구조 TCP/UDP/IP/ICMP 네트워크나 컴퓨터 쪽 공부했던 사람이라면 한 번쯤은 들어봤겠죠? 오늘은 들어만 보았던 헤더들과 멀어질 기분이 아니기 때문에 어떠한 내부구조와 항목으로 이루어져 있는지 보다 가까이 다가가서 들여다보겠습니다. 1. UDP 헤더 1) UDP헤더의 길이는 8바이트(64비트)로 구성되어 있습니다. 2) 출발지포트(16비트), 목적지포트(16비트), 길이(16비트), 오류검사(16비트) 4가지 항목으로 구성되어 있습니다. 3) 길이는 응용계층에서 생성한 UDP페이로드와 전송계층에서 생성한 UDP헤더가 더해진 데이터그램의 길이정보가 들어있습니다. 요약하면 아래 그림과 같이 구성이 됩니다. 4) 오류검사 항목은 일반적으로 비활성화상태이나 활성화상태인 경우도 있습니다. 위의 [그림2]의 경우.. 2020. 3. 3.