PE 파일의 자료구조 헤더 분석 실습 Stud_PE, x32 dbg
·
리버싱
Stud_PE을 사용해서 IMAGE_NT_HEADERS 확인하기Stud_PE은 직관적이고 특정 구조 부분을 선택하면 그 부분을 하이라이팅 해준다이전 이론 포스팅에서 다뤘던 헤더 부분을 살펴보자 https://eggsmong.tistory.com/46 윈도우 실행파일 PE파일의 구조와 PE 헤더를 알아보자PE파일이란?Window에서 사용되는 파일 형식으로 exe, dll, sys 등운영체제에 의해 메모리에 로드되고 실행되는데 필요한 주요 데이터들이 포함되어 있다가상 메모리에 매핑된 후에도 실행 전후 레이eggsmong.tistory.com Stud_PE에 예제 파일인 “sample_x32.exe”를 로드하고 IMAGE_NT_HEADER를 찾아보자→ Basic HEADERS tree view 부분 클릭 ..
[Dreamhack] 리버싱 rev-basic-3 Writeup
·
Writeup
IDA에 실행파일을 로드해서 흐름을 살펴보면Input: 여기서 인풋을 받고 검증을 통해 correct, wrong을 출력한다 Correct를 출력하는 조건이 뭔지 loc_140001193을 살펴보자 sub_140001000에서 인풋을 비교한다더블클릭해서 들어가니까 수식이 있다 일단 byte_140003000에 hex 값으로 힌트를 찾을 수 있는지 보면  뭔가 hex 값이 있긴 한데 플래그로 보이는 문자는 아닌 것 같다위에 나온 수식이 유일한 해결책인 것 같아서 다시 분석해 보겠음 arr[i] != (i ^ *(unsigned __int8 *)(a1 + i)) + 2 * i hex_value값을 이미 알고 있으니까 역으로 연산하는 식을 구하면 되겠다arr[i] != (i ^ a1[i]) + 2 * iarr..
[Dreamhack] 리버싱 rev-basic-2 Writeup
·
Writeup
IDA Free 프로그램에 실행파일을 로드해서 전체적인 흐름을 살펴보자저번 리버싱 문제들과 마찬가지로 인풋 값에 따라서correct, wrong을 출력해주는 프로그램인것 같다늘 그렇듯이 F5로 디컴파일 먼저 해보자   sub_1400011B0에서 인풋을 받고 sub_140001000에서 값을 비교한다 그럼 sub_140001000에 들어가서 함수를 자세히 보자  for문이 있고 0x12, 10진수로 18번 반복문이 실행되는걸로 봐서플래그가 한번에 나타나는게 아니라 18번에 걸쳐 나타나는것 같다!  IDA-VIEW A에 보니까 글자들이 하나씩 있는게 보인다C o m p 4 r e 어쩌고 뜨는걸 보니 이게 플래그인듯 그런데 Hex view에 들어가도 플래그가 한번에 떠있다 Comp4re_the_arr4y
[Dreamhack] 리버싱 rev-basic-0 rev-basic-1 Writeup
·
Writeup
rev-basic-0  IDA에 실행파일을 로드하고 IDA-VIEW를 살펴보자입력값에 따라 Correct 혹은 Wrong을 출력한다 F5단축키로 디컴파일을 해보자  sub_140001190 함수에서 인풋을 받고 sub_140001000에서 입력값을 비교해서 correct 혹은 wrong을 출력한다 sub_140001000 함수를 더블클릭해서 들어가 보니까  입력값을 Compar3_the_str1ng 라는 값과 비교해서 == 0, 즉 같으면correct를 출력한다  그러므로 답은 Compar3_the_str1ng rev-basic-1 rev-basic-0과 유사한 과정으로 분석을 하면 될 것 같다sub_140001000 함수에 들어가 보면 인풋값을 어떤 값과 비교하는지 알 수 있다  a[i]라는 배열에 1..
[Hackthebox] Dancing Challenges Writeup
·
Writeup
hackthebox에서 제공되는 챌린지 Dancing을 풀어보자pwnbox를 사용하니까 진짜 편하고 좋은 것 같다학생요금제 신청하면 8달러밖에 안 해서 결제할까 생각 중 일단 nmap 스캐닝부터 시작해 보자3개의 포트가 확인되는데 microsoft-ds? 서비스가 445번 tcp 포트에 열려있다 구글링 해보니까 445번 포트는 파일공유를 위한 SMB라고 함  sudo smbclient -L {ip} smb를 다운로드하고 접속하니 4개의 share가 확인된다blank password로 접속할 수 있는 share를 찾아야 하니 하나씩 확인해 보자  smbclient \\\\{ip}\\{share} 예상대로 admin은 실패했고, Workshares라는 share는 접속에 성공했다    Amy.J James...
[Hackthebox] Meow Challenges Writeup
·
Writeup
어제 tryhackme에서 챌린지 문제를 하나 풀고나니까도전정신이 들어서 hackthebox 챌린지 문제를 플어보겠음very easy를 시작으로 언젠가는 medium 문제까지 풀어보자  1. pwnbox를 사용해서 가상머신에 연결하기  2. 연결되고 나면 IP주소가 뜰것이고 이제 문제를 풀 수 있다 vm의 의미는 이미 알고있어서 바로 맞혔다 Task 2 What tool do we use to interact with the operating system in order to issue commands via the command line, such as the one to start our VPN connection? It's also known as a console or shell. powershe..