분류 전체보기
[CodeEngn]Basic RCE_Level 06 문제풀이
Level 05에 이어서 06도 풀어봅시당. 문제를 보니 Unpack를 해서 OEP주소와 Serial 값을 알아내면 되는 문제입니다. 한번 실행해 봐야 되겠죠? 위와 같이 잘못 된 Serial 값을 넣으면 "Wrong serial!!!"이라는 메시지가 출력됩니다. 문제에서 Unpack을 하라고 했으니, 어떤 압축이 되어 있는지 PEiD로 확인해 봤습니다. 역시나 UPX로 실행 압축 되어 있음을 확인 했습니다.UPX 압축해제 하는 방법은 Level 05과정을 참고(아래링크) 하시면 됩니다. 2018/04/10 - [Study :)/WarGame] - [CodEngn]Basic RCE_Level 05 문제풀이 압축 해제 후, 보여지는 처음 주소가 OEP 주소가 됩니다. 이제 Serial값만 찾으면 됩니다. ..
[CodeEngn]Basic RCE_Level 05 문제풀이
Level 05를 풀어보자. 단순히 Serial Key를 찾는 문제인것 같다. 프로그램을 실행시켜보자. 입력창이 2개가 있다. 추측건데 윗부분은 User Name 부분이고, 아랫부분은 Serial 부분인것 같다. 'Register now !' 키를 눌러보면, 다음과 같은 메시지창이 뜬다. 올리디버거로 실행하여 보자. compressed 를 감지했다는 메시지가 뜬다. 즉, 실행파일압축되어 있다. PEiD와 PEview로 확인해보니 UPX로 실행압축 되어 있음을 확인 할 수 있다. 올리디버거에서 UPX압축 해제할 수도 있지만, UPX unpack 프로그램을 사용하면 쉽게 압축해제 가능하다. 해당 파일은 upx 실행 파일이 있는 곳으로 옮기고 다음 명령어를 입력하자. 05.exe 파일을 upx 압축해제하여 0..
[CodEngn]Basic RCE_Level 04 문제풀이
Level 04를 풀어보자. 문제를 확인해보면 디버거를 탐지하는 함수가 내장된 프로그램이라고 한다. 실제 실행해보면 '정상'이라는 문자가 계속 출력된다. 하지만, 올리디버그로 실행하다 보면 '디버깅 당함'이라는 문자가 계속 출력된다. 이것도 역시 Level 03과 마찬가지로, 함수 이름을 찾아내는 문제이므로 PEview를 이용하면 쉽게 답을 찾을 수 있다. 올리디버그로도 확인 가능하다. 올리버그로 실행하여 한줄씩 디버그 하다보면, '디버그 당함'이라는 문자가 출력되는 함수가 있다. 해당 함수를 타고 들어가서 한줄씩 실행해보면, 또 '디버깅 당함'이라고 출력되는 함수가 있다.
[CodEngn]Basic RCE_Level 03 문제풀이
Level 02 풀이에 이어 Level 03문제도 풀어보자. (Msvbvm50.dll 에러가 나타나면 아래 파일을 다운받아 프로그램과 같은 경로에 넣어두자) 문제가 단순하다. 비주얼베이직에서 스트링 비교함수 이름을 찾으라는 것 같다. 프로그램을 실행 시켜보자. 해당 메시지 창이 뜨고 '확인' 버튼을 누르면 다음과 같이 Regcode를 넣는 창이 뜨게 된다. 값을 입력하였을 때, 패스워드가 틀리다는 메시지가 뜬다. 해당 프로그램에서 패스워드를 비교하는 함수가 있는데, 그때 사용되는 함수명을 찾으라는 문제 인 것같다. 올리디버그로 살펴보자. 이전 풀이 문제들과 다르게 String값과 어셈블리어는 보이지 않는다. 문제에서는 함수명을 찾는 것이기 때문에, PE구조만 확인하면 해당 프로그램에서 사용된 함수명들을 ..
[CodEngn]Basic RCE_Level 02 문제풀이
Level 01에 이어 Level 02문제를 풀어 보겠습니다. 패스워드를 찾으라는 문제인 것 같다. 파일을 실행해 보면 다음과 같은 메시지창이 뜬다. 해당 파일이 16bit 환경이라는 것 같다. 그리고 CS:0591 같은 문자들이 보기이도 한다. '닫기'를 누르면 프로그램이 종료되고, '무시'를 누르면 프로그램이 아무런 동작을 하지 않는다. 일단 올리디버그로 뜯어보자. 올리디버그 조차 에러를 뿜어내며 실행되지 않는다. 황당할 수 있지만, 올리디버그가 안되면 HxD를 이용해서 바이너리값을 확인해 보자. 바이너리 값을 확인하다보면 특별한 문자들을 확인 할 수 있다. 비밀번호가 틀렸을 때와, 맞았을때 나타나는 메시지 구문 같다. you did it! 이라는 메시지 뒤에 Crackme#1 문자와 JK3FjZh라..
MacOS High Sierra, 루트 권한 획득 보안 취약점 발견 - 임시 해결방법
Lemi Orhan Ergin이 트위터로 macOS high sierra에 심각한 취약점을 공개했습니다. 원트윗 Dear @AppleSupport, we noticed a HUGE security issue at MacOS High Sierra. Anyone can login as "root" with empty password after clicking on login button several times. Are you aware of it @Apple? 트위에 의하면 로긴시 로긴 버튼을 여러번 누른후 root를 사용자에 넣고 빈 패스워드를 넣으면 로긴이 됩니다. MacOS 10.13.1 버전 기준 재연 영상 : https://twitter.com/saudumm/status/93560323497838..
아나콘다(Anaconda)에 TensorFlow 설치하기 on Mac | Installing TensorFlow at Anaconda on MAC OS X
Anaconda 설치Anaconda 는 여러 수학, 과학 패키지를 기본적으로 포함하고 있는 파이썬 배포판입니다. Anaconda 는 "conda" 로 불리는 패키지 매니저를 사용하여 Virtualenv 와 유사한 환경 시스템을 제공합니다. (역주: 텐서플로우 뿐만이 아니라 일반적인 데이터 사이언스를 위해서도 아나콘다를 추천합니다)Virtualenv 처럼 conda 환경은 각기 다른 파이썬 프로젝트에서 필요한 패키지들의 버전이 충돌되지 않도록 다른 공간에서 운영합니다. 텐서플로우를 Anaconda 환경으로 설치하면 기존 파이썬 패키지들을 덮어쓰지 않게됩니다.Anaconda를 설치합니다.conda 환경을 만듭니다.conda 환경을 활성화 하고 그 안에 텐서플로우를 설치합니다.설치 후에는 텐서플로우를 사용하고..
Mac OS에 Homebrew를 설치하고 패키지를 설치하자.(telnet)
Mac OS 10.13 High Sierra로 업데이트 되면서 보안적으로 취약한 프로토콜 들이 대거 삭제 되었다. 예를 들어 telnet과 ftp같은 경우는 암호화 통신을 하지 않는 프로토콜인데, 때문에 High Sierra에서 삭제되어 더이상 터미널에서 telnet과 ftp명령어를 사용 할 수 없다. 그러나 방법이 없는 것은 아니다. Homebrew라는 스크립트를 설치하면 MacOS에 telnet이나 ftp 패키지를 설치 할 수 있다. Homebrew설치하기 : https://brew.sh/index_ko.html 위 링크를 참조하여 터미널에서 설치를 진행하자. 설치가 끝나면 터미널 창에 다음과 같은 명령어를 입력하여 telnet을 설치 하면 된다. brew tap theeternalsw0rd/teln..