Forensic 47

[패킷 분석] SANS Puzzle 분석

이번 시간에 분석해볼 패킷은 SANS Puzzle.pacp 파일입니다. 문제는 시나리오 기반으로 되어 있으며, 생각보다 쉽게 풀려서 글을 빠르게 쓰도록 하겠습니다. 더보기 [ 시나리오 ] Ann’s과 친구는 메신저로 중요한 음식의 비밀 레시피를 주고 받았다. 우리가 획득한 패킷을 분석하여 해당 레시피가 무엇인지 획득하고 다음과 같은 물음에 답변하여라. [ 문제 ] 1. Ann's의 친구의 메신저 이름은 무엇인가? 2. 캡쳐된 메신저 대화 중 첫번째 대화는 무엇인가? 3. Ann's가 보낸 파일의 이름은 무엇인가? 4. 당신이 추출하고자 하는 파일의 시그니처는 무엇인가? 5. 파일의 MD5 해쉬 값은 무엇인가? 6. 파일 안에는 어떤 내용이 들어있는가? 바로 문제를 풀어보도록 하겠습니다. 먼저, 와이어샤크..

[패킷 분석] 무선랜 패킷 분석

이번 시간에는 무선랜으로 패킷이 잡혀있는 패킷 파일을 분석을 진행 해보도록 하겠습니다. 패킷 파일을 실행시켜 보면 암호화 된 패킷들이 보이는데 지금처럼 무선랜 환경에서의 패킷은 암호화가 된 상태로 잡히게 됩니다. 패킷들을 살펴보면 wep 프로토콜로 암호화가 된 것을 볼 수 있는데, 암호화가 된 패킷들은 크랙을 통하여 복호화를 시켜줘야 합니다. 복호화를 하기 위해서는 Aircrack-ng 프로그램이 필요한데, 복호화를 하는 순서를 보겠습니다. 일단, wep를 복호화 하기 위해서는 키가 필요합니다. WEP 암호화 키는 64bit일 경우 01:02:03:04:05 와 같이 입력을 해야 하고, 128bit일 경우에는 0102030405060607080 이런식으로 키 값이 나오는 것을 볼 수 있습니다. 먼저, F..

[패킷 분석] HackThePacket 분석

몇일 전, 아는 지인분에게 패킷 공부를 좀 하고싶다. 파일을 좀 달라해서 얻은 패킷 파일인 HackThePacket입니다. 난이도는 막 그렇게 어렵지 않으며, 저처럼 처음 네트워크 패킷 포렌식을 공부하는 입장에서는 간단하게 풀 수 있는 문제입니다! 문제를 한번 보겠습니다. 더보기 Telnet의 패스워드를 찾으시오. 80번 포트로 업로드 된 파일명을 찾으시오. 네이버에서 검색한 검색어를 찾으시오.(한글) 인터넷 쇼핑 중 실행된 웹쉘을 찾으시오? 찾아야 하는 문제는 총 4개로 바로 풀이를 해보도록 하겠다. Telnet의 패스워드를 찾는 문제이다. 텔넷은 인터넷이나 로컬 영역 네트워크 연결에 쓰이는 네트워크 프로토콜이다. 쉽게 말해서 네트워크 관리를 할 수 있는 프로토콜입니다. 텔넷은 패킷이 잡힐 때, Pro..

[침해 사고] 웹 서버(Apache2) 로그 분석

웹 서버 로그분석은 침해 사고에 있어 가장 빈번하게 일어난다. 그렇게 때문에 분석을 진행 해보았다. 웹 서버 웹 서버는 소프트웨어로 보면 웹 브라우저와 같은 클라이언트로부터 HTTP 요청을 받아 들이고, HTML 문서와 같은 웹 페이지를 반환하는 컴퓨터 프로그램이고, 하드웨어로 본다면 위에서 언급한 기능을 제공하는 컴퓨터 프로그램을 실행하는 컴퓨터이다. 웹 서버를 분석하는 이유 분석하는 이유는 다양하지만 웹 서비스를 운영하고 있는 서버 관리자라면 외부에서 어떤 요청이 들어오고 있는지, 그리고 어떤 사용자가 있는지에 대한 정보를 담고 있는 Access 로그에 관심을 가지는 것이 당연하다. 왜냐하면 사람도 마찬가지지만 본인의 물건에 누가 손을 대는 것 조차 싫어하시는 분들이 많은데 서버도 마찬가지이다. 외부..

6주차 과제

혼공 8기로 마지막이네요 ㅎㅎ 많은 것을 배워왔지만...유독 습득이 늦은 챕터입니다.. "포인터" 악마입니다. 우리가 포인터를 배우기 전에 잠깐 지금가지 배운것을 정리를 해보면 변수 선언으로 메모리에 공간을 확보하고, 그곳을 데이터를 넣고 꺼내쓰는 공간으로 사용했습니다. 변수명은 확보된 메모리 공간을 식별할 수 있는 이름이였습니다. 그러나 변수는 블록, 함수 내부로 사용이 제한되어 있었습니다. 같은 변수명을 사용했다 하더라도 블록이나 함수가 다르면 "별도의 저장곤간을 확보" 하므로 전혀 다른 변수로 사용되는 것이죠...그래서 사용 범위를 벗어난 경우도 데이터를 공유할 수 있는 새로운 방법인 "포인터"의 개념에 배워보도록 하겠습니다. 메모리 주소 메모리라는 것은 우리가 데이터를 넣고 꺼내 쓰는 공간으로, ..

5주차 과제

배열 배열이라는 개념을 접하기 전에 지금까지 우리는 메모리에 저장 공간을 만들기 위해 변수라는 것을 사용했습니다. 예를 들어 사과 10개를 담기 위해 AppleBox라는 변수명으로 변수를 하나 만들어 줬습니다. 하지만 또 다른 예로 5과목의 점수를 처리하고 싶을 때는 kor, eng, math, sci, social 등 하나씩 다 변수를 지정해줬습니다. 이렇게 하나씩 변수를 선언하면 점수도 일일이 하나씩 넣어줘야 하는 번거로움이 있기 때문에 우리는 배열이라는 개념을 알고 있어야 합니다. 쉽게, 배열은 같은 형태의 많은 데이터를 반복하여 처리하기 위해서 메모리에 "연속적"으로 저장해놓고 쪼개서 사용하는 방법이라고 생각을 하시면 됩니다. 잘 이해가 안가시겠지만 예제로 보겠습니다. %p 서식 지정자에 대해서는..

[디스크 복구] NTFS 파티션 복구

저번 시간에 이어 NTFS도 바로 복구를 해보겠습니다. 마찬가지로, 악용을 하시면 법적인 책임을 물 수도 있으니 공부할 때만 사용하십시오. 배우기에 앞서 선행되어야 하는 내용은 다음과 같습니다. NTFS 구조 : https://lemonpoo22.tistory.com/202 MBR 구조 : https://lemonpoo22.tistory.com/23 실습할 내용은 다음과 같습니다. BR영역이 손상된 파티션 복구 알아야 할 내용 : 파티션 정보, LBA 시작주소, 파티션 총 섹터 수 먼저, 실습파일을 FTK로 열어보겠습니다. 파티션 1개가 보이고, Unrecognized로 보이는 것으로 보아 손상된 파티션임을 알 수 있었습니다. 그래서 FTK를 닫고, Hxd 에디터로 디스크 정보를 한번 보겠습니다. 영역 ..

[디스크 복구] FAT32 파티션 복구

*지금부터 작성을 하는 공부들은 악용을 할 시 법적인 책임을 질 수 있으니 공부 용도로만 쓰길 바랍니다. 배우기에 앞서, 사전 지식이 필요하여 2개를 보고 오시는 것을 추천드립니다. MBR 구조 : https://lemonpoo22.tistory.com/23 FAT32 구조 : https://lemonpoo22.tistory.com/84 우리가 Windows 시스템에서 가장 많이 사용하는 파일 시스템 포맷인 FAT32, NTFS 포맷의 파티션이 손상되었을 경우 복구하는지 배워볼 것 입니다. 우선 실습 파일은 따로 올리지 않겠지만, 복구하는 방법이 동일하기 때문에 혹시 직접 실습을 해보고 싶다면, 가상 디스크를 하나 만들어서 똑같이 영역을 손상시켜 공부해보는 것을 추천드립니다. 실습 시나리오는 다음과 같다..

4주차 과제

표준 라이브러리 함수 함수는 기능을 수행하는 코드 단위를 말합니다. 지금까지 사용해왔던 main 함수가 대표적인 함수입니다. 그리고 입.출력을 할 때 사용하던 printf()와 scanf()도 함수이고 특정 기능을 미리 약속하고 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수입니다. 이런 함수처럼 프로그램에서 바로 사용할 수 있게 구현되어 있는 함수를 표준 라이브러리 함수라고 합니다. 그리고 이런 함수는 stdio.h 헤더 파일에 포함되어 있습니다. 함수를 정의할 때 필요한 3가지가 있습니다. (꼭 기억하셔야 합니다) 함수 정의 : 함수를 실제 코드로 만드는 것이며 기능을 구현합니다. 함수 호출 : 함수 호출을 해야지 함수를 사용할 수 있습니다. 함수 선언 : 프로그램의 상단에서 어떤 함수를 사용할..