분류 전체보기 (88) 썸네일형 리스트형 #사진 날아감 [Windows_System] Shellcoding 쉘코딩법 글 날아가서 다시 썻습니다 https://r3dzone.tistory.com/15==========================================================시스템 분야의 첫 글은 윈도우 쉘코딩으로 하고자 합니다. 쉘코드란? 시스템 함수를 구동하기 위한 코드로서 아키텍처 수준에서 작성된 코드입니다.즉 공격 시스템의 아키텍쳐에서 시스템 함수를 불러오게 해주는 기계어 코드라고 저는 이해 하고 있습니다. 시스템 해킹에서 취약점이 터졌다면 그 취약점을 이용해 이 쉘코드를 해당 시스템에 올리므로서 시스템 함수를 이용해 원하는 프로그램,함수를 실행할 수 있기에 해당 시스템을 해커가 장악할 수 있는 것입니다. 이 쉘코드를 작성하기 위한 과정은 1.쉘코드에서 사용할 시스템 함수 찾기 2.고수.. [Reversing.Kr] Easy Crack 문제를 누르니 바이너리가 하나 딱 다운받아 집니다. 실행시켜보니 입력창이 하나 나오고 확인을 누르니 에러메시지가 출력되는 군요 IDA로 까주니 여러함수가 나와주네요 문자열뷰 열어주시고 위와같이 셋업해서 대부분의 문자열이 검색되도록 해주시고~ 아까본 에러메세지 검색해주시면 함수위치를 특정할 수 있습니다. 해당함수로 가니 strncmp()가 보이고 뒤에 문자가 하드코딩 되어있는것이 보입니다. 해당함수에 BP걸어주시고 해당 변수 눌러주시면 아까 프로그램에 입력한 문자열이 보입니다. v3변수가 2번째 문자인걸 알 수 있었습니다. 같은 요령으로 문자열을 조합해 주면 클리어~ [CodeEngn] basic level4 코드엔진 4번 문제를 보닌 안티디버깅 함수를 찾으라고 하네요. 그냥 실행시에는 초당 한번씩 "정상"이라는 문자를 출력하는 프로그램입니다. 올리디버거로 실행시 디버거를 탐지했다는 문자가 출력되게 되어있습니다. 올리디버거로 프로그램에서 사용된 함수들을 보도록 합시다. 올리디버거에서 프로그램 실행후 마우스 우클릭 후 그림에 보이는 버튼을 누르면 현재 모듈에서 사용하고 있는 함수들을 보여줍니다. 가장 기본적인 안티디버깅 함수인 IsDebuggerPresent(),IsDebugged() 함수가 있나 훑어보니 화면과 같이 IsDebuggerPresent()함수를 발견했습니다. 고전적인 안티디버깅 함수를 사용했기에 쉽게 찾을 수 있었네요 ㅎㅎ [CodeEngn] basic level3 코드엔진 베이직 3번 의문의 영문자가 나오고 패스코드를 인증하는 듯한 프로그램입니다. 독일어같네요… 올리디버거로 사용된 모든 문자열을 보니 thank, this password is right !를 독일어로 써둔듯한 문자열이 보입니다. 그 위에 문자열이 패스워드로 추정됩니다. 인증 성공! [CodeEngn] basic level2 코드엔진 2번 문제 설명을 보니 실행이 되지 않는 파일을 준다고 하네요 확실히 02.exe를 실행시켜보니 동작을 하지 않습니다. 올리디버거로 까봐도 마찬가지 입니다. 헥스에디터로 파일 시그니처를 보니 MZ로 실행파일이 맞습니다. 해결법을 알 수 없으므로 HxD로 탐색해보기로 합니다. 메세지 코드를 보니 이 부근이 실행결과 창인 것을 알 수 있습니다. 성공결과 밑에 의문의 문자열이 있습니다. 위치 상 패스코드일 가능성이 커보입니다. 코드엔진에서 답안제출을 해보니 인증이 되네요 키는 JK3FJZh 원래는 파일구조를 분석해서 실행되도록 고치는게 목적이 아닌가 싶습니다. 나중에 한번 다시 봐야겠네요. [CodeEngn]basic level 1 하드디스크를 CD-ROM으로 인식시키라고 합니다. 올리 디버거로 까보니 gedrivetypea의 반환값에 따라 cmp문으로 실행 결과가 달라집니다. 비교되는 esi의 값은 401003입니다. Eax는 cmp기준으로 401003이 되어야 하니 위에 dec가 2번 실행된걸 상정하여 반환값은 401005가 되어야 합니다! 참고로 00401~은 프로그램에서 지정해준 주소대역이기 때문에 답은 5입니다. MSDN에서 get드라이브타입의 리턴값들에 대한 설명을 봐도 5번이 cd롬의 반환값이 맞네요. [hackershcool FTZ] Level1 풀이 해커스쿨 FTZ를 텔넷포트인 23번 포트로 접속해줍니다. 로그인 하고 일단 ls명령어로 홈폴더의 내용물을 살펴봅니다.누가봐도 힌트인 hint파일이 보이네요 ㅋㅋcat명령어로 내용물을 봐봅시다. level2권한의 setuid를 찾으라고 하는군요.여기서 setuid란 프로그램 실행시 유저가 사용하는 권한이 파일의 소유주의 권한이 되는것을 의미합니다.즉 프로그램이 실행될때 유저가 level2의 권한을 얻게되는 프로그램이 존재합니다. find 명령어를 통해 원하는 프로그램을 찾아봅시다. find 명령어는 파일을 찾을 때 사용하는 명령어로 여러가지 옵션이 존재합니다.위에서 제가 지정한 옵션은 최상위폴더부터 level2가 소유자이고 최소한 setuid가 걸려있는 파일을 출력하라는 옵션을 부여한것입니다. 하나하나 자.. 블로그 시작합니다~ 안녕하십니까? R3Dzone 입니다. 이 블로그는 컴퓨터/해킹을 공부하기 위해 만들었습니다. 워게임이나 ctf풀이등을 주기적으로 올리면서 공부하고자 합니다. 아직 실력이 많이 부족하기 때문에 내용오류나 부족한점등 많은 피드백 부탁드립니다. 이전 1 ··· 8 9 10 11 다음