반응형

리눅스 7

그루트 시큐리티 - 리눅스 기초 실습

대상의 ip를 확인 하였다. ssh를 이용하여 대상 시스템에 접속을 하였다. 대상 id는 iamgroot이고 pw는 groot123이다. ssh 접속 명령어(default port = 22) ssh 대상id@대상ip주소 위 명령어를 통하여 기본 포트인 22번 port로 접근한다. 타사 (Third-party) 도구와 같은 선택적 파일을 저장하는 리눅스 시스템은 어디일까요? 타사 도구와 같은 선택적 파일은 /opt 파일에 저장한다. 답 : /opt 타겟 머신의 hostname은 무엇일까요? hostname이라는 명령어로 hostname을 확인이 가능하다. 답 : linuxgroot 지금 로그인 되있는 타겟 머신의 username은 무엇일까요? 답 : iamgroot 터미널 창에 "Groot Security..

[Hackerschool FTZ] - level 5 문제

문제 내용 힌트를 보면 /usr/bin/level5 프로그램을 실행하면 /tmp 디렉토리에 level5.tmp라는 임시 파일을 생성한다고 한다. /usr/bin/level5를 실행하고 /tmp 디렉토리를 확인 해 보겠다. 명령어를 실행하였지만 level5.tmp가 생성되지 않았다. 하지만 생성된것이 아니라 빨리 삭제가 된것이여서 보이지 않는 것이다. 이것은 레이스 컨디션 공격을 통해 문제를 해결할 수 있다. 레이스 컨디션 공격을 위한 조건은 아래와 같다. 1. SUID가 걸려있어야 한다. 2. 임시파일을 생성해야 한다. 3. 임시로 생성되는 파일의 이름을 알아야 한다. /usr/bin/level5를 실행하면 /tmp/level5.tmp 파일이 생성된다. setUID가 걸려있고 임시파일을 생성하고 생성되는..

[Hackerschool FTZ] - level 4 문제

문제 내용 힌트를 보면 누가 /etc/xinetd.d/ 디렉토리에 백도어를 심어놓았다고 한다. 해당 디렉터리로 이동하겠다. 백도어 파일을 확인하였다. finger라는 서비스를 이용한다. finger 는 로컬사용자 또는 원격서버사용자의 계정정보를 확인하는 명령어이다. 찾아보니 level5의 권한으로 /home/level4/tmp/backdoor를 실행한다고 한다. 따라서 우리는 /home/level4/tmp/backdoor 파일을 만들어야한다. backdoor.c 파일 #include #include int main(void){ system("my-pass"); return 0; } my-pass 명령어를 실행하는 백도어 코드이다. gcc로 컴파일을 한후 finger @loacalhost를 이용하여 lev..

[DVWA] - Command Injection Low 단계

Command Injection 커멘트 인젝션(Command Injection)이란 명령어를 삽인한다는 뜻으로, 웹 요청 메시지에 임의의 시스템 명령어를 삽입하고 전송하여 웹 서버에서 해당 명령어를 샐행하도록 하는 공격이다. input 박스에 ip 주소를 입력하면 해당 ip주소로 ping명령어를 실행한 후 그 결과를 리턴해 주는 페이지이다. 일단 로컬 ip주소(127.0.0.1)을 입력하고 실행해 보겠다. 그림 2와 같이 ping명령어를 실행한 결과를 출력한다. 소스코드를 한번 살펴보겠다. 소스코드 소스코드를 살펴 보면 shell_exex()라는 함수가 호출된다. 이 함수는 시스템 명령어를 내리는 함수이다. ping 뒤에 $target이라는 변수가 오는데, 이 변수는 우리가 입력한 값이다. 하지만 소스코..

WEB hacking/DVWA 2022.10.10

[Hackerschool FTZ] - level 3 문제

문제 내용 hint를 보면 autodig의 소스코드를 보여주고 있다. argc가 2개가 아니면 종료가 된다. => 인자를 1개 넣어줘야함 strcpy로 dig @를 cmd에 복사하고있다. strcat(A,B)함수는 문자열을 이어붙이는 함수로 A뒤에 B를 붙인다. 마지막에 system함수로 입력받은 명령어를 실행할 수 있다. 힌트를 보면 동시에 여러 명령어를 사용하기 위해 ;(세미콜론)을 사용하면 되고 문자열 형태로 명령어를 전달하기 위해서는 '(싱글 쿼터), "(더블 쿼터)를 사용하면된다. 인자에 '8.8.8.8;my-pass'을 넣어주면 dig @8.8.8.8을 실행한 후 my-pass를 실행하게 될 것이다. 일단 autodig파일의 위치를 찾아보겠다. autodig파일은 /bin디렉터리 아래에 있는 ..

[Hackerschool FTZ] - level 2 문제

문제 내용 hint 파일을 확인해보니 텍스트 파일 편집 중 쉘의 명령을 실행시킬 수 있다는데... 이라고 한다. 텍스트 파일 편집 중 쉘의 명령을 실행시킬수 있는 텍스트 파일은 vi에서 실행시킬 수 있다. level 1번 문제처럼 setUID 권한을 가지고 있는 소유자가 level3인 파일을 찾아보았다. /usr/bin/editor이라는 파일이다. /usr/bin/editor 파일을 확인해보면 group사용자가 level2이고 소유자가 level3인것을 보아 level2에서 실행시키면 level3의 권한을 가진다. editor파일은 32비트 ELF 실행파일이므로 한번 실행해 보도록 하겠다. 실행을 하니 vi 편집기가 떴다. 아까 힌트를 보면 편집기능에서 쉘의 명령어를 실행시킬 수 있다고 하였다. vi편집..

[Hackerschool FTZ] - level 1 문제(환경 설정 포함)

환경설정 id : root, password : hackerschool 이다. ifconfig로 ip를 확인한다. putty로 접속을 한 후 hint를 보니 한글이 깨진다. Window -> Translation -> Remote character set: 에서 Use font encoding을 사용한다. 한글이 이제 보인다. level1번 문제를 바로 풀어보도록 하자. 문제 풀이 아이디와 비밀번호는 level 1으로 동일하다. hint를 보니 level2권한에 setuid로 설정된 파일을 찾는것이다. setuid는 파일 실행 시 파일 소유자 권한으로 실행하는것을 말한다. setuid로 파일을 설정하고 싶으면 권한설정을 4000번으로 하면 된다. ex) chmod 4777 [file_name] find의..

반응형