목록분류 전체보기 (112)
Shine's dev log
0. ext4 파일 시스템 지난번에 ext4 파일 시스템의 전체적인 구조에 대하여 살펴보았다. ext4는 전체 파티션을 여러개의 블록그룹으로 나누고, 각각의 블록그룹에는 슈퍼블록, 그룹 디스크립터 테이블, 데이터블록 비트맵, 아이노드 비트맵, 아이노드 테이블, 데이터 영역이 존재한다고 하였다. 또한, ext3 부터는 파일의 변경사항 추적을 위해 저널링(Journaling) 기능이 생겼다는 것도 알 수 있었다. 이번에는 이 저널링 기능을 통해 삭제된 파일을 복구하는 방법을 알아보자. 1. 저널영역 (Journal Area) 우선, 저널영역의 위치를 알아야 하는데, 이는 inode 8번에 저장되어 있다. inode 8번 파일에는 저널 영역에 대한 주소값이 저장되어 있다. 저널영역은 위의 그림과 같이 하나의 ..
1. 새로운 와이파이 규격 기숙사에서 와이파이 연결을 하려고 하는데, 평소와는 다른 와이파이 하나가 눈에 띄었다. 위의 그림과 같이 와이파이 그림 옆에 6이라는 숫자가 적혀있는 것을 발견할 수 있었다. 검색을 해보니, WiFi 6 라는 새로운 와이파이 규격이라고 한다. 이에 대해서 좀 더 자세히 알아보자. 2. WiFi 6 IEEE 는 여러가지 전기, 전자 공학에 대한 표준을 만들고 발표하는 기관이다. 우리 일상생활에서 자주 만날 수 있는 와이파이에 대한 표준 규격도 IEEE에서 만들고 발표해왔다. IEEE 802.11b, IEEE 802.11ac와 같은 말을 한번쯤은 들어봤을 것이다. 이것들은 더 빠르고 품질 좋은 무선 인터넷 환경이 생겨남에 따라 IEEE에서 발표한 규격들이다. 특히 IEEE 802...
0. ext 파일 시스템 각각의 운영체제들을 저마다 파일들을 관리하는 파일 시스템을 채택하고 있다. 대표적으로 윈도우는 NTFS를, 맥 os는 APFS를 사용한다. 리눅스의 경우 ext 파일시스템을 사용한다. 대부분의 안드로이드 스마트폰과 IOT 기기의 경우에 리눅스를 기반으로 돌아가기 때문에 역시 ext 파일 시스템을 많이 사용하게 된다. 즉 한마디로 ext 파일 시스템이 널리 쓰인다는 것이다. 1. ext 의 역사 우선 1993년 나온 ext2부터 알아볼 필요가 있다. 리눅스 운영체제에서 사용할 수 있는 파일 시스템으로, inode 하나 당 하나의 파일을 저장한다. 가장 중요한 특징으로는 파일을 저장할 때, Block Mapping 방식을 사용한다는 것이다. 위의 그림처럼 inode 1번부터 12번 ..
1. Sniffing(스니핑) 이란? [snif : 코를 킁킁거리다] 라는 뜻에서 알 수 있듯이 스니핑은 네트워크 상에서 다른 컴퓨터들의 패킷 교환을 도청하는 행위이다. 스니핑과 비교되는 공격으로는 스푸핑(Spoofing) 이 있는데, 스푸핑은 실제 거짓 패킷을 전송하거나 패킷을 변조하는 등의 행위이다. 스니핑은 패킷을 변조하거나, 거짓 패킷을 송신하는 스푸핑 공격에 비해 조용히 도청만 한다는 점에서 소극적인 공격이라고 볼 수 있다. 2. ARP Redirect 오늘은 스니핑 공격의 대표적인 예시인 ARP Redirect를 알아보자. 그러려면, 먼저 ARP 에 대하여 알아봐야 할 것이다. 2.1. ARP ARP는 Address Resolution Protocol의 약자로, 네트워크 상의 IP주소(3계층)..
1. tcpdump란? 리눅스에서 제공하는 패킷 분석툴로, 네트워크 인터페이스를 통해 지나가는 패킷을 분석해준다. 특정 조건을 통해 더 쉽고 효율적으로 패킷 분석을 할 수 있다. 패킷 캡처를 해주는 대표적인 프로그램으로는 와이어샤크가 있는데, tcpdump도 잘 사용할 줄 안다면 리눅스 환경에서 패킷 분석을 잘 할 수 있다. 앞서 말했듯이 tcpdump에는 여러가지 옵션을 설정해줄 수 있다. 특정 포트에 해당하는 패킷만 필터링 해줄수도 있고, 더 보기 편하게 표시해주는 옵션도 있다. (자세한 옵션은 위키백과를 참조하자 : https://ko.wikipedia.org/wiki/Tcpdump) 2. tcpdump로 Telnet 로그인 정보 확인하기 자 이제 tcpdump가 패킷 분석툴인것은 알겠다. 이제 예..
1. 배너그래빙(Banner Grabbing) 이란? 우선 배너(Banner)란 Telnet과 같은 원격지 프로그램에 로그인할 때, 처음 뜨는 안내문을 말한다. 배너에는 컴퓨터의 운영체제 종류와 버전 등이 담겨있기 때문에, 공격자가 공격 대상의 기초 정보를 알아낼 수 있다. 기본적으로 /etc/issue.net 위치에 배너가 저장되어 있다. 위의 그림은 /etc/issue.net의 파일을 vi 편집기로 연 것이다. 운영체제의 정보가 담겨있는 것을 볼 수 있다. 2. 배너그래빙(Banner Grabbing)의 방어법 배너그래빙의 방어법은 단순하다. 그냥 배너를 바꾸면 된다. 원래는 운영체제의 기본 정보를 담고있었던 배너 (issue.net 파일)를 vi 편집기를 통해 위의 그림과 같이 바꾸었다. 이제 te..