![[Kali Linux] macof 공격](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F6NCgo%2FbtqzAVYMgms%2FzEpULLoq2NfrOPqs6KUUIk%2Fimg.png)
Switch Jamming 공격 - 스위치를 직접 공격하는 방법 (ARP, ICMP를 이용한 스니핑은 스위치의 작동을 그대로 두고 공격하는 방식이ㄴ다.) - 스위치에는 MAC 주소 테이블을 저장하기 위한 저장 공간이 존재한다. - 많은 량의 MAC 주소를 스위치에 노출시켜 스위치의 MAC table버퍼를 Overflow시킨다. - 스위치는 Fail Open 정책을 따르는 장비이므로 시스템에 문제가 생기면 Hub처럼 동작한다. 네트워크 구성 - Kali Linux에서 스위치에게 다량의 MAC 주소를 보내려고 한다. macof 공격 1. 스위치 상태 확인 - 공격전에 스위치의 MAC 주소 테이블을 보면 Kali Linux한대가 등록되어 있다. - show mac-address-table 명령어로 확인해 보면..
![[Security Theory] Sniffing(스니핑) 이란?](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FkW9OU%2FbtqzJcfqV3w%2FkNuHKZPsw4uKk9wVtXdwKK%2Fimg.png)
1. Sniffing 개념 Sniffing의 사전적 의미는 코를 킁킁거리다, 냄새를 맡다 등의 뜻이 존재한다. 자신이 아닌상대방들의 패킷이 통신망에 돌아다니는 데이터를 몰래 도청하는 행위이다. 정보자산의 기밀성을 저해한다. 2. 스니핑의 종류 1) 허브 환경에서의 스니핑 허브는 기본적으로들어온 패킷에 대해 패킷이 들어온 포트를 제외한 모든 포트에 패킷을 보낸다. 랜카드를 Promoscuous모드(무차별 모드)로 동작하게 하면다른 사람들의 패킷을 받아 볼 수 있다. 스니핑 도구를 통해 해당 패킷을 저장하고 분석하는것이 가능하다. 2) 스위치 환경에서의 스니핑 2.1) Switch Jamming 스위치의 MAC Address Table에 대량의 APR Reply 패킷을 보내 오버플로우 시켜서 허브처럼 동작하..

BurpSuite 란? - Scanner(웹 취약점 자동진단) 도구를 사용할 수 있다. - 개인 사용자들이나 컨설턴트들이 사용하기에 가격이 저렴하고 효율적이다. - 프록시 서버 기능을 수행할 수 있다. - 스레드, 패턴 기능을 제공한다. BurpSuite 다운로드 1. BurpSuite 홈페이지의 다운로드 페이지로 이동한다. https://portswigger.net/burp/communitydownload Download Burp Suite Community Edition PortSwigger offers tools for web application security, testing & scanning. Choose from a wide range of security tools & identify t..

리버싱 분석 환경 차이점 - OS, Architecture, Language에 따라 차이점을 보인다. Byte Order(바이트 정렬) - 윈도우 에서는 Little Endian을 쓰고 네트워크에서 데이터를 보낼 경우 Big Endian방식을 쓴다. Data Type별 크기 Ex) Char(Charcharacter) 형 자료형 - C언어 에서는 ACSIIcode 값을 사용하므로 1byte이다. - JAVA언어 에서는 Unicode 값을 사용하므로 2byte이다. Alignment 단위 - 데이터의 기본 저장 단위가 서로 다르면 저장하는 방식이 서로 달라진다. Calling Convention(함수 호출 규약) - 함수 호출 규약이 언어마다 다르다. (C언어: __cdecl, Window Programmi..

LEA(Load Effective Address) - 두 번째 Operand 주소를 계산하고 첫 번째 Operand에 저장한다. - []연산자를 제외하고 두 번째 Operand로 Expression이 허용이 되지 않는다. - MOV eax, edx+4: MOV에 + 연산을 사용 할 수 없다 - MOV eax, [edx+4]: []는 포인터 역할을 하므로 edx의 주소 + 4 가된다 *(edx + 4) - LEA eax, [edx+4]: edx+4 값을 eax에 저장하는 의미이다. edx + 4 SCAS(SCAn String) - AL / AX / EAX에 저장되어 있는 값과 EDI가 가르키는 곳에 저장되어 있는 값을 비교한다. (EAX 값 EDI 주소 값) - 0개에서 2개까지 피연산자를 쓸 수 있다. ..

MOVE 명령어 MOV(MOVe data) - Source operand의 내용을 Destination operand로 데이터를 복사한다. (두 번째 피연산자의 주소로 참조되는 데이터를 첫 번째 피연산자 주소로 전송한다.) - Destinarion operand의 내용은 변하지만 Source operand의 내용은 변하지 않는다. - 메모리를 참조하는 피연산자들의 크기가 반드시 일치해야 한다. (두 피연산자의 크기가 모두 바이트, 워드, 더블 워드여야 한다.) text:00401023(16진수) - [ebp+var_C]: Destinarion operand: 공간이 와야 한다. - 0Ah: Source operand: 값, 공간이 와야 한다. text:00401027 - ebp + var_4: 주소 +4..

레지스터(Register) - CPU(Central Proceessing Unit)가 요청을 처리하는 데이터의 임시저장 공간이다. - 레지스터는 공간은 작고 가격은 비싸지만 CPU에 직접 연결되어 있어서 연산 속도가 RAM, HDD, SDD 보다 빠르다. - CPU는 자체적으로 데이터를 저장할 수 없으므로 레지스터를 이용하여 연산처리 및 번지 지정을 도와준다. - 컴퓨터 장치들을 제어한다. 범용 레지스터(General Purpose Register) - 위 그림은 레지스터의 크기를 나타낸 그림이다. - EAX레지스터를 예를 들면 EAX, AX, AH, AL은 모두 다른 레지스터가 아닌 EAX레지스터에서 분할된 레지스터의 이름이다. - 알파벳 EAX 중 16byte를 통해 AX레지스터로 접근이 가능하고 A..