반응형

전체 글 368

[DCTF 2017] Inception writeup

다음 문제를 봐보자. 다운로드 버튼을 누르면 그림이 나온다.이 그림을 다른 이름으로 저장을 하여 다음과 같이 파일을 생성하도록 한다.파일의 용량이 크다. 뭔가 의심이 가는 부분이다. 헥스 에디터로 열어보자. 헥스 에디터로 파일을 열어봤을 때, 파일 내부에 많은 수의 png 파일 시그니처가 포함되어 있음을 확인할 수 있다. 이 사진 파일 안에 여러 개의 사진 파일이 숨겨져 있다는 뜻이다. 파일 시그니처를 기반으로 파일들을 추출해보았다.그림과 같이 12개의 png 파일로 나누어질 수 있었다. 12개의 파일 중 유난히 파일의 용량이 큰 파일 하나를 발견할 수 있었다. 파일을 열어보니, 다음과 같이 플래그를 발견할 수 있었다. 하핫. Flag : DCTF{61c9183bf4e872b61d71697891e0a45..

Write-up 2017.10.02

[CSAW 2017] Missed Registration writeup

문제의 파일을 살펴보자. 위와 같은 .pcap 파일을 얻을 수 있다. 와이어샤크를 실행하여 패킷파일을 읽게 해보면, 정상적인 패킷 캡처 파일임을 알 수 있다.일단 패킷을 살펴보자. 총 3885개의 패킷이 있고 TCP , HTTP 두가지 종류의 프로토콜을 이용하여 통신이 이뤄지고 있음을 확인할 수 있었다.와이어샤크의 conversation 기능을 사용하여 패킷들을 살펴보았다. TCP 탭에서 TCP 로 이루어진 통신들을 볼 수 있는데, 이 통신들의 내용을 Follow Stream을 이용하여 살펴보았다. ( 위에서 HTTP 프로토콜을 사용한 흔적이 여기서 보이지 않는 것은 HTTP, TELNET, FTP, SMTP, SSH 등의 프로토콜들이 모두 TCP/IP 중 TCP 프로토콜 위에 만들어진 네트워크 프로토콜..

Write-up 2017.10.02

64bit 환경에서 32bit 프로그램 실행 오류날 때

우분투를 사용했을 때에는 호환이 바로 되어서 몰랐는데, 칼리를 사용하다보니 64bit 환경에서 32bit elf 파일을 실행 못 시키는 경우가 있어서 당황했다. ;원인도 제대로 찾지 못했어서 고생했다. 힘겹게 peda를 설치하고 디버깅을 하려는데 run 만 하면 파일을 찾을 수 없다고 오류가 나더라..꽤 많은 시간을 들인 구글링 끝에 32bit elf 실행이 안되서임을 깨닫고, 32bit elf 파일을 실행할 수 있게하는 패키지를 설치했다.>>sudo dpkg --add-architecture i386>>sudo apt-get update>>sudo apt-get install libc6:i386 libncurses5:i386 libstdc++6:i386 zlib1g:i386설치하니 잘 됬다. 하핳. 참..

peda 설치

Peda는 한마디로 말하면 엄청 많이 편리한 gdb라고 할 수 있다. 기존 gdb보다 훨씬 편하다. 사실 내가 peda를 설치한 이유는 vmmap과 libc를 사용하기 위함이기는 하지만 암튼 기존 gdb보다 훨씬 편리하다. git clone https://github.com/longld/peda 위 명령어로 peda를 설치하고 .gdbinit이라는 gdb 설정파일을 수정해야한다. (없으면 만들면 된다.) .gdbinit의 위치는 나는 그냥 사용자계정 디렉토리에 위치하게 했다. .gdbinit 파일의 내용은 다음과 같게 한다. source ~/peda/peda.py#gdb가 실행할 때 페다가 실행되도록 하기위해 사용. source 명령어로 즉시 적용되게함.(source 명령어는 스크립트 파일을 수정한 후 ..

리눅스 사용자가 sudo권한을 가지지 못 할 경우

가끔 root가 아닌 사용자가 root권한이 필요하여 sudo 명령어를 사용했을 때, "userid is not in the sudoers file." 라며 오류메세지를 띄우는 경우가 있다. 이는 유저계정이 sudo 명령어를 사용할 수 있도록 등록을 하는 과정을 거치지 않아서이다. 이럴 경우에는 sudo의 설정과 관련이 있는 파일인 /etc/sudoers 에 사용자 계정을 등록해주어야한다. 이 때, 기존 vi로는 수정할 수가 없다. visudo -f /etc/sudoers 로 사용자계정명 ALL=(ALL) ALL 처럼 수정해주면 등록을 할 수 있다. 참고 : https://blog.outsider.ne.kr/505

Mac 이란?

Mac 이란?Media Access Control 의 약자이다. 간단하게 맥 주소라고 한다.랜카드 또는 네트워크 장비들이 저마다 하나씩 가지고 있는 유일하고, 고정된 48bit 주소이다.맥 어드레스, 하드웨어 주소 라고도 불린다.모든 랜(LAN)상의 장비들은 반드시 유일한 하나의 맥 어드레스를 가져야 한다. (서버에도 물론 존재한다. 랜카드가 있으므로.) 표현방식 : 00-56-94-6F-8F-94, 00:56:94:6F:8F:94, 00.56.94.6F.8F.94 위 세가지 방식으로 표현한다. 절반으로 나누어 앞의 세 부분은 생산자를 나타내고, 뒤의 세 부분은 장치의 일련번호(Host Identifier)을 나타낸다. 참고 : 네트워크 상에서 MAC 주소는 Physical 주소, IP주소나 IPX주소는..

OSI 7 Layer (Network part)

OSI 7 Layer 란? 단순하게 말하자면 편의성을 위해 네트워크 통신을 7단계로 나눈 것이다.이러한 모델을 사용하기 시작한 뒤 다른 네트워크 장비들과의 호환성이 좋아졌고, 문제 발생 시 해결하기가 수월하게 되었다. 7. Application Layer (어플리케이션 계층) 6. Presentation Layer (프레젠테이션 계층)5. Session Layer (세션 계층)4. Transport Layer (트렌스포트 계층)3. Network Layer (네트워크 계층)2. Data Link Layer (데이터 링크 계층)1. Physical Layer (피지컬 계층) 1. Physical Layer전기적, 기계적, 기능적인 특성을 이용하여 통신 케이블로 데이터를 전송한다. 제일 기본이다.통신단위 :..

네트워크 통신 방식

네트워크에서 통신을 하는 방식 (3 캐스트) 유니캐스트 (1 대 1)멀티캐스트 (어떤 그룹을 대상으로 통신)브로드캐스트 (전부를 대상으로 통신) 기본적으로 모든 통신은 자신과 같은 로컬 이더넷에 있는 모든 PC에게 정보를 뿌린다. (통신 방식의 차이는 랜카드에서 필터링 되는 것의 차이.) ※ 여기서 로컬이란 라우터에 의해 구분되어진 공간, 브로드캐스트 도메인이라고 불리우는 영역이다. Unicast (1 대 1 통신)보낸이의 맥 주소, 받는 이의 맥 주소를 프레임 안에 적어 shared 방식으로, 정보를 뿌린다. ( 로컬 이더넷의 기본 성격이 붙어있는 모든 PC들에게 정보를 뿌린다. ) 그 로컬 네트워크 상에 있는 모든 PC들은 일단 이 프레임을 받아, 랜카드에서 이 프레임의 목적지 맥 어드레스와 자신의 ..

반응형