반응형

일단.. PE파일 구조는 천천히 알아가려고 패킹부분을 공부를 시작했다. 그런데....

여기서 본격적으로 PE파일을 다루며 지난 면접관들이 나한테 물어본 이유를 알았다. 그러니까....

PE파일구조만 읽는게 아니라 뒤에 패킹과 패킹 뒤에 내용이 모두 PE파일 내용이고 결국  자주 보는 부분은 외우게 된다.

시발 이럴줄 알았으면 뒤에 내용도 읽어보면서 복습했어야 했는데....

하....

x32라는 프로그램을 사용했는데 예제는 ollydbg를 사용해서... 툴을 바꿔야 될것 같기도 하다...

 

결론 지난 3개월동안 뻘짓했다....

 

오늘 또다시 PE를 본다... 

진짜 머리가 멜트다운 되는 느낌이다.

근데 리버싱하는것을 끈을수가 없다... 네트워크도 하고싶다.... 최고가 되고싶다...

 

반응형

'일상' 카테고리의 다른 글

가짜 사나이+ 나태!!  (0) 2020.07.31
오늘의 삽질: 리버싱 핵심원리 UPX 패킹  (0) 2020.07.30
안녕하세요. BOB 면접 후기 입니다.  (3) 2020.06.22
고등학교 졸업  (0) 2020.02.04
만다라트!  (0) 2020.01.28
Posted by 53C
,
반응형

 

 

다행이 리버싱에 대한 많은 질문을 받았지만 많은 부분 제대로 답변을 드리지 못한 부분이 많았다.

 

처음 질문은 EP에 대해서 물어보신것 같다. 그런데 컴퓨터로 하다보니 긴장해서 제대로 못알아 들어서 답변을 드리지 못했다.. EP를 OTP라고 들은 내잘못이 크다. 

 

정답은 OEP였다. OEP에 대한 내용은 오늘 공부하는 부분에서 나오는 내용이다.ㅠㅠ

 

EP: Entery point : 는 파일이 메모리에 로드되어 파일 작성자가 짜 놓은 코드의 처음부분을 말한다.

EP에 대한 내용은 PE파일 헤더에도 영향을 미치는 부분이다. NT헤더의 Optional 헤더의 Address od Entry Point 값(RVA)값으로 확인이 가능하다.

 

Image File Header : NT 헤더의 IMGE_NT_HEADERS의 멤버중 FileHeader의 구조체 IMAGE_FILE_HEADER로 파일의 개략적인 속성을 나타낸다.

특히 IMAGE_FILE_HEADER에서 4가지 멤버를 알아야한다.

1: Machine: 2 byte : CPU의 고유넘버

2: NumberOfSections: 2 byte: 섹션의 개수 (이 값은 반드시 0보다 커야한다.)

3: SizeOfOptionalHeader: 2 byte: IMAGE_FILE_HEADERS 구조체의 마지막멤버 IMAGE_OPTIONAL_HEADER3의 크기를 나타낸다. 만약 x64의 환경의 경우 크기가 다르기 때문에 IMAGE_OPTIONAL_HEADER64를 사용합니다.

4: Characteristics: 2byte: 파일의 속성값을 나타내는 값이다.

 

매번 PE파일에더에서 이헤더는 무슨 역활을 하고 어느 섹션은 어떤 역활을 하는 지 물어보신다. 내가 생각하기에 PE파일의 내용은 너무 방대하지만 기본적은 몇가지 헤더의 속성은 외우는 것 같다는 느낌을 받았다. 

 

다음은 JMP와 CALL에 대한 질문이 었다.

이부분에서는 짬을 이용해서 답을 했고 다행이도 근처에 도달한것 같았다.

JMP는 무조건 위치로 이동하는것이고,

CALL의 경우 스택의 현재위치를 저장하고 점프를 한다. CALL위치에서 RET를 실행하면 CALL한 위치로 돌아가게 된다.

이때 CALL을 하게 되면 스택에 함수의 위치를 저장하고 RET을 만나게 되면 스택의 주소를 EIP레지스터리에 넣고 EIP레지스터 값을 이동을 하게 된다.

 

저번 BOB와 이번 K쉴드를 하면서 느낀점은 짬이 중요하다 인 것 같다....

 

 

반응형
Posted by 53C
,
반응형

오늘은 날씨가 좋았습니다.

제시간에 일어나지 못했지만 점점 제시간에 가까워져가고 있습니다.!!

오늘은 날씨가 좋아서 아침에 빠르게 장을 보고 금융업무를 보고 왔습니다.

장을 보고와서 몸에 무리가 와서 쉬었습니다. 정말 좀 아파서 오래동안 누어있어서 오늘 망했구나 싶었는데 어느정도 괜찮아 지고 보니 3시라서 3시부터 열심히 했습니다.

내일 온라인 지필과 온라인 면접 평가가 있습니다. 그래서 일정을 정리했습니다.

저는 2번팀 7번차례입니다. 그리고 zoom프로그램을 테스트 했습니다.

 

 

 

반응형
Posted by 53C
,
반응형

K쉴드 지필을 공부했습니다.

C언어 복습내용을 만드는 것은 다음주로 계획을 변경했습니다. 

K쉴드 지필의 경우 정보보호기사 기준으로 나오는데....

엄청 모르겠습니다. 나름 일년을 해킹에 맨땅에 해딩하면서 공부했는데 아는 내용이 너무 적어서 슬펐습니다.

정보보안 학과로 편입을 생각도 했습니다만... 마땅히 마음에 들거나 갈 수 있는 대학교가 한정적이었습니다....

그래도 작년에 비해서 엄청 늘어나서 아쉽다는 생각을 했습니다... 올해 수험생분들은 꼭 상행지원 해보세요.,...

 

 

오늘 공부한 내용은... 많이 없습니다. 우선 답지를 통해서 2~3번 풀어보고 공부하라는 블로그를 읽어서 해보았습니다.

 

시스템 보안

 

 *서버사이드언어

웹 서비스를 백엔드와 프론트엔드로 구분했을떄, 백엔드에서 서버의 동작을 정의하기 위한 언어

스크립트 언어, 마크업 언어를 제외한 대부분의 언어는 서버 사이드 언어이다.

주요언어 : PHP, ASP, JSP, C, PYTHON

제외언어: HTML, JAVAscript, CSS

 

웹 프로그래밍에서 프론트 엔드는 웹 디자인을 담당하는 HTML, CSS, javascript 웹서버와 연결되는 벡엔드 언어 로 PHP,PY 등이 있다. 

 

 

 *멜트다운 공격

CPU취약점으로, 유저 영역프로그램이 운영체제 권한 영역의 프로그램의 내용을 볼 수 있는 치명적인 취약점이다.

- 운영체제 권한 영역이 노출이 되면서 메모리상의 거의 모든 정보가 유출될 수 있다.

- 모든 CPU에 해당이 된다.

발생원인 : 추측실행 , 비순차적 명령어 처리

공격대상 : 시스템만 접근 가능한 커널의 메모리 데이터

 

부채널 공격의 일종이다. 

부채널 공격에는 멜트다운과 스펙터가 존재한다.

멜트다운과 스펙터 모두 하드웨어를 대상으로 한 공격이다.

커널에서 관리하는 메모리영역에 접근할 수 있다.

CPU성능을 높이기 위한 메커니즘을 악용하는 취약점이다.

 

* 리눅스 시스템

시스템의 주요설정 파일이 위치한 디렉토리 + 환경설정 파일이 모여있음 = /etc

임시파일을 저장하는 디렉토리 + 임시저장 디렉토리 + 모든 사용자에게 열려있다. = /tmp

물리적 장치가 파일화되어 저장되 디렉토리 = /dev

 

햇갈리는 명령어

 

/bin = 실행파일 모음, 일반적으로 사용하는 mv, cat등 명령어 프로그램이 있다.

/root = root계정의 홈 디렉토리

/usr = 주로 새로 설치되는 프로그램들이 저장된다.

/mnt = CD-ROM, 네트워크 파일 시스템등을 마운트 할때 사용하는 디렉터리

 

몰랐던 디렉토리

 

/boot = 부팅과 관련된 파일들이 있다.

/sbin = 주로 시스탬관리자가 쓰는 시스템 관련 명령어 프로그램들이 모여있다.

 

잊어먹은 디렉토리

 

/var = 시스템 로그, 스폴링 파일들이 저장된다. 메일서버로 운영될 경우 메일이 여기 저장된다.

 

 

*윈도우 사용자 그룹

 

원도우 기본 사용자

administrator : 관리자 권한으로 가장 강력한 권한을 가지고 있다.

local system : 로컬에서 관리자와 거의 대등한 강력한 권한을 갖는다. 원격에서 접속이 불가능 하다.

guest : 매주 제한적인 권한을 가진 계정으로, 기본 설정으로는 가용이 불가능하다.

 

윈도우 기본 그룹

administrator : 도메인 지원이나 로컬 컴퓨터에 대한 모든 권한이 존재하는 그룹

account operators : 사용자나 그룹 계정을 관리하는 그룹

backup operators : 시스템 백업을 위해서 모든 시스템의 파일과 디렉터리에 접근할 수 있는 그룹

guests : 도메인을 사용할 수 있는 권한이 제한된 그룹/ 시스템의 설정 변경 권한이 없도록 조치된 그룹

print operators: 도메인 프린터에 접근할 수 있는 그룹

power users : 디렉터리나 네트워크를 공유할수 있고 공용 프로그램 그룹을 만들수 있다./ 컴퓨터의 표준 시간을 조정 할수 있다.

replicator : 도메인에 있는 파일을 복제할 수 있는 권한을 가지고 있는 그룹/ 디렉터리 복사 서비스를 사용하는데 이용된다.

server operators: 도메인 서버를 관리할수 있는 그룹/ 로컬 로그인과 시스템 재시작, 시스템 종료등을 할수 있는 권한이다.

users: 도메인과 로컬 컴퓨터를 일반적으로 사용하는 그룹/ 개개인에 할당된 사용자 환경을 직접 만들수 있지만 설정할 수 있는 항목에는 한계가 있다./ 시스템 서비스를 시작하거나 종료할수 있는 권한이 존재하지 않고 디렉터리 공유 설정을 할 수 없다.

 

 문제> 윈도우에서 사용자 계정을 추가하면 일반 사용자 그룹인 user 그룹에 자동 포함된다. 이 user 그룹의 권한에 대한 설명으로 옳지 못한것은?

1. user은 워크스테이션을 종료할 수 있고 서버에도 종료 명령을 내릴수 있다.

?=> server operators 부터 로컬 종료가 가능하다. 

2. user가 로컬 그룹을 만들수 있지만 자신이 만든 로컬 그룹만 관리한다.

=>

3. 관리자가 설치하거나 배포한 인증된 windows 프로그램을 실행할 수 있다.

=>

4. user 그룹의 구성원은 자신의 모든 데이터 파일 및 레지스터리에서 자신의 부분을 완전히 제어할 수 있다.

=>

 

*윈도우 루트 키

 

 

 

==

나름 리버싱와 PE라일구조와 레지스터 많이 공부했는데 윈도우 환경에서도 이렇게 배울것이 산처럼 낳다는 것을 알고 놀랐다. 점점 꿈이 구체화 되면서 그 분야에 파고 들고 싶은데... 정보가 부족하다... 멘토가 있었으면 좋겠다.... 현재 멘토님은 너무 바빠서 연락을...읍읍...

 

 

오늘 공부량은 매우 부족했다..

아침에 제시간에 일어나지 못했다..

끼니를 챙겨먹지 못했다...

 

어제보다 침대에 누어있는 시간을 줄였다.

생활의 루틴을 찾아가고 있다.

 

 

내일은 더 열심히!!

 

시발

 

 

 

 

 

 

 

 

 

 

 

반응형
Posted by 53C
,
반응형

6/22

 

안녕하세요. 다들 코로나로 힘들지만 그럼에도 소소한 행복을 느끼면서 지내고 계신가요?

저는 어제 BOB 시험을 모두 끝내고 결과를 기달리며 기말고사 대비를 하고 있습니다.

 

오늘은 BOB지원 과정에서 많은 아쉬움이 남아서 글을 적어보려고 합니다..

 

시험은 전반적으로 제가 공부한 범위에서 나오지 않아서 많이 힘들었습니다.

면접에서는 분명 제가 중요하다고 생각이  되어서 책에 메모를 해둔 부분도 나왔지만 재대로 대답을 하지 못했습니다..

하지만 가장 아쉬운것은 윤리관또한 중요하지만 기술력도 중요하다라는 질문에 조금 부족한 답을 한것이 가장 아쉬움이 남습니다.

 

저가 교육원에 지원을 하게 된 결정적인 동기는 사이버 공간에서 피해를 받는 사람들을 도아줄수 있는 기술을 배우기 위함이 었습니다. 매일 저는 인생의 원칙중에 3번째 원칙 나의 능력을 정의와 평화를 위해 사용한다.를 생각하고 모든 공부에 임하고 정의와 진정한 평화에 대해서 고민하지만 능력을 올리기 위해서 노력하는 점을 제대로 어필하지 않아서 매우 아쉬움이 남습니다. 

 

이번 BOB 지원은 특히 면접과 시험은 저에게 많은 영향을 주었습니다. 다양한 환경에서 다양한 방법으로 문제를 파악하고 툴이 없다면 직접 툴을 만드는 불가능을 가능을 바꾸는 공학도의 마음등등 생각나는것이 너무많았습니다.

 

아직 결과를 기달리고 있습니다. 

 

물론 결과에 따라서 학사 일정과 저의 인생일정에 약간의 변동이 오겠지만

 

 

시발 탈락했다...

 

반응형

'일상' 카테고리의 다른 글

오늘의 삽질: 리버싱 핵심원리 UPX 패킹  (0) 2020.07.30
아 시발 PE파일 5번째 복습 ㄱㄱ  (0) 2020.07.26
고등학교 졸업  (0) 2020.02.04
만다라트!  (0) 2020.01.28
2020.1.27  (0) 2020.01.27
Posted by 53C
,