Hello, Stranger :D

1. binwalk명령어를 사용하여 파일시스템 오프셋 확인

 - 명령어 : binwalk [binary]

 - 아래의 사진을 보면 " Squashfs filesystem, little endian, version 4.0, c"라는 파일시스템이 offset 1345582에 위치한 것을 확인할 수 있다.


2. dd 명령어로 파일시스템 추출

 - 명령어 : dd if=binary of=output bs=1 skip=[filesystem offset]

 - file명령어로 output파일을 확인한 결과 Squashfs 파일이 정상적으로 추출된 것을 확인할 수 있다.


3. 파일시스템 mount

 - 명령어 : unsquashfs output

 - squashfs-root디렉토리가 생성되었고 내부에 각 파일들이 존재한다.


저작자 표시
신고

'Security > IoT' 카테고리의 다른 글

공유기 펌웨어 추출  (2) 2016.05.13
0

http://blackcon.tistory.com/trackback/151 관련글 쓰기

Comment +2

exploit 문제나 개발할 경우 데이터를 입력했는데 buffer에 들어가지 않은 경우가 종종 있을겁니다.


각 함수별로 어떠한 값들을 받지 않는지 간단히 정리했습니다 :D


- scanf( "%s", buf );
  : \x09, \x0a, \x0b, \x0c, \x0d, \x20 전까지 입력받고 종료
  : 위의 값들은 버퍼에 들어가지 않음

- gets( buf );
  : \x0a 전까지 입력받고 종료
  : \x0a는 버퍼에 들어가지 않음

- fgets( buf, size, stdin )
  : \x0a 까지 입력받고 입력 종료
  : 모든값 입력 가능

 - read( fd, buf, size  )
  : \x0a 까지 입력받고 입력 종료
  : 모든값 입력 가능


저작자 표시
신고

'Security > etc' 카테고리의 다른 글

입력 함수별 입력받지 못하는 값  (0) 2016.04.27
[memo] 자주 쓰는 OPCODE  (0) 2015.12.10
2014년 KUCIS 영남권 세미나 발표자료  (0) 2014.11.03
AVI헤더, RIFF헤더 구조  (0) 2013.09.14
PNG File header  (0) 2013.05.28
JFIF Header  (0) 2013.05.03
0

http://blackcon.tistory.com/trackback/149 관련글 쓰기

0

pdf 구조 공부중 stream이 zlib으로 압축되어 있다는 것을 알았습니다.

일단 zlib의 헤더는 헥스값으로 78 9c로 시작합니다.

python으로 zlib파일을 푸는 것은 아래와 같습니다.


----------------

import zlib


f = open( 'test.gz', 'rb' )

d = f.read()

f.close()


data = zlib.decompress( d )

print data

----------------



저작자 표시
신고

'Programming > Python' 카테고리의 다른 글

[python] zlib 압축풀기  (0) 2016.01.25
MySQL-python 연동  (0) 2015.11.09
pydbg설치 참고 사이트  (0) 2014.11.29
파이썬에서 JSON간단한 예제  (0) 2013.01.23
파이썬 한글인식하기!!  (0) 2013.01.23
urllib.urlencode  (0) 2013.01.22
0

http://blackcon.tistory.com/trackback/148 관련글 쓰기

0

티스토리 툴바