- Today
- Total
목록분류 전체보기 (300)
Phantom
[level3@ftz level3]$ cat hint 다음 코드는 autodig의 소스이다. #include #include #include int main(int argc, char **argv){ char cmd[100]; if( argc!=2 ){ printf( "Auto Digger Version 0.9\n" ); printf( "Usage : %s host\n", argv[0] ); exit(0); } strcpy( cmd, "dig @" ); strcat( cmd, argv[1] ); strcat( cmd, " version.bind chaos txt"); system( cmd ); } 이를 이용하여 level4의 권한을 얻어라. more hints. - 동시에 여러 명령어를 사용하려면? - ..
[level2@ftz level2]$ cat hint 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... 이번에도 같은방법으로 level3의 setuid가 걸린 파일을 찾아보았다 [level2@ftz level2]$ find / -user level3 -perm +4000 2>/dev/null /usr/bin/editor 다음과 같은 파일이 나왔는데 실행시켜보자 [level2@ftz level2]$ /usr/bin/editor ~ VIM - Vi IMproved ~ ~ version 6.1.320 ~ by Bram Moolenaar et al. ~ Vim is open source and freely distributable ~ ~ Help poor children in Uganda! ~ typ..
[level1@ftz level1]$ cat hint level2 권한에 setuid가 걸린 파일을 찾는다. Level1의 문제는 소유자는 level2이며 setuid가 걸린 파일을 찾는것이다 리눅스 명령어인 find를 이용해 파일을 찾는다 [level1@ftz level1]$ find / -user level2 -perm +4000 2>/dev/null /(root)부터 검색해서 소유자가 level2이며 권한은 setuid가 걸린 파일을 찾는데 오류는 휴지통?(null)로 보낸다 /bin/ExecuteMe [level1@ftz level1]$ ls -l /bin/ExecuteMe -rwsr-x--- 1 level2 level1 12868 Sep 2 02:31 /bin/ExecuteMe 검색했더니 파일이..
도스로 뜨는 프로그램이다. 비밀번호 입력하면 또 참 거짓으로 나눠줄 것 같은데… 디버거로 열어보자 문자열은 이상한 것이 나온다 이제껏 보지 못한 언어인 듯 하다. PEID로 뭐로 짜여져 있는지 알아야겠다. …dev-C++이네 뭐…그래 함수를 찾아봐야겠다. Strcmp 함수 발견 두 곳에 BP를 걸고 실행한다. ….? BP를 넘었..? 프롤로그 이후 저곳에서 모든 것이 일어나는 것 같다 저 안에 들어가서 문자열을 찾아보니 나왔다. Correct와 Wrong에 BP를걸고 먼저 들어가 분기문에도 BP를 걸어야겠다. 16-03-12 아…. 항상 삽질을 한다..ㄷ 지금 저 CMP문에 7F97E56C를 아스키로 생각해서 아니라 생각했는데 그래서 계속 삽질했는데 저걸 10진수로 바꿔야 하더라 그 힌트를 IDA에서 얻..
이번에도 시리얼을 넣고 체크하는 것 같다 디버거로 열어보자 바로 문자열을 봤는데 시리얼이…???? 뭐지 이문제? 두곳과 분기에 BP를 걸고 실행해봐야겠다 호오.. strcat로 로컬 디스크를 붙이는 것 같은데 로컬 디스크는 어디서 온것이지? 이 함수가 VolumeNameBuffer 를 인자로 해서 strcat를 한다. 이제 그럼 천천히 아래로 내려가보자 위의 루프와 함수를 다 거쳐서 마지막 비교함수에 왔다 저것이 시리얼이고 위에가 내가 입력한 문자열이다. 다르면 에러로 보낼것이다. 저 시리얼을 그대로 입력해보자 clear
시리얼을 찾는 문제이다. 비베로 만들어졌고.. 맞는 시리얼이 입력되면 아래 Registered가 활성화가 되는 것 같다. 한번 디버거로 열어보자 비베 머신 들어가기 전에 문자열을 봐야겠다. . 문자열이 있다 BP를 걸고 부분으로 가보니 이렇게는 되어 있으나 다른 곳과 동떨어진 곳이었다. 함수를 봐야겠다. 문자열 비교 함수 발견 여기다 BP를 걸고 실행해봐야겠다. 모두 입력이 되는 것이 아닌가보다 a한개 입력했는데 값이 나왔다. 이 값을 따로 실행해서 넣어봐야겠다. 활성화가 됐다 clear
1. 정보통신과 네트워크 1) 정보통신 - 정보 :통신의 궁극적인 목적이며 어떤 의미가 있는 기호의 집합이며, 사람들에 의해 평가된 것으로 문제해결에 유용한 데이터 - 통신 : "신호원이라고 하는 시간과 공간상의 한 지점에서 목적지 또는 사용자라고 하는 다른 지점으로 정보가 전달되는 과정" - 정보통신 : 송신자와 수신자간에 효과적으로 정보를 전달하거나 받는 과정. - 통신 모형과 기능 ① 정보원(Information source) : 전송할 정보를 발생시키는 근원(source) - PC, 전화기 ② 송신기(Transmitter) : 정보원으로부터 나온 메시지를 송신신호의 형태로 전송로에 전달 인코드, 변조 -> 반송파를 사용하여 변환 ③ 전송로(Channel) : 송신기와 수신기를 연결하는 물리적인 매..
하…..이걸 이상하게 하는 바람에 2일을 삽질 했다. 이젠 아예 힌트 같은걸 보지 않고 해야겠다 그거를 잘못 봐서 2일을 버렸…다. 우선 프로그램을 실행하기 전에 ReadMe.txt를 읽어보자 시리얼이 저것일 때 이름을 찾아라. 이다. 프로그램을 열어보자. 이름을 입력 하고. 시리얼을 입력한다. 디버거를 열어서 aaaaaa가 어떤 시리얼로 바뀌는지 봐야겠다. 입력하고, 비교 루프에 들어온 것 같다 ESI와 3을 비교하는 것을 보니 3번에 걸쳐 어떤 것이 루프를 도는 것 같다. 이것을 보니 부호 확장 MOV라는데 잘은 모르겠다 ECX는 10, 20, 30이렇게 루프를 돌면서 바뀌고 EDX는 아까 내 문자열이 하나씩 비교가 된다. 그리고 이곳에서 복호화가 일어난다. 61과 10을 XOR연산하여 ECX에 저장..
프로그램을 실행해보니 637일이넘던데..음…. 프로그램을 하나하나 미친 듯이 CMP를 찾아 다니면서 하고 있다가 와업을 보니 Exe2Aut라는 프로그램의 이름을 보았다. 바로 실행했다. 루프의 끝을 바로 보여주네…원래였다면 디버거에서 16진수로나왔을 테니.. CMP EDI, 0x63B8E 이렇게 나왔을 것이다. 이 값을 인코딩하면 Md5 Hash: 6903eef5902839b661840d64a04dd81d
프로그램을 아이다에 넣으니 UPX로 시작된다. 패킹이 되어있나 보다. Upxtool을 써서 패킹을 풀겠다. 그리고 실행해보니 전혀 다른 화면이 나온다. 안티 디버깅인것으로 알고 있다.] IsDebuggerPresent함수의 리턴값을 변조하고 다시 실행한다. 그리고 모든 MessageBox함수에 BP를 걸고 찾다가 Certlab이 출력되는 함수를 찾았다. 그리고 그 아래에 CMP문과 MOV문이 있는데 EDI에 값이 있더라. 그렇다면 MessageBoxW함수 실행하는 도중 sleep이 걸렸다는 건데 보니 timeGetTime함수가 있더라. 이보다 자세한 설명이 없을 것 같아 사진을 첨부한다. 먼저 MessageBox실행된 직후 현재시간을 가져온 다음 ESI에 저장한다. 현재시간을 가져오고 현재시간에서 ESI..