본문 바로가기
2. nmap_2(NSE) #명령어 사용 및 연습시 확실히 허가된 테스트 환경에서 진행해야 하고, 허가받지 않은 곳에서 하여 피해 발생시 온전히 자신의 책임입니다. NSE 는 Nmap Scripting Engine 의 약자로서, nmap 을 제대로 활용할 수 있는 훌륭한 기능입니다. Lua 프로그래밍 언어로 이루어진 스크립트를 사용하여 미리만들어진 스크립트를 사용하거나, 사용자가 정의 하여서 사용할 수 가 있는데 Lua 프로그래밍 언어에 대한 메뉴얼은 아래 URL을 참고하면 됩니다. http://www.lua.org/manual/5.2/ 미리 공식화 되어 명시되어있는 스크립트는 사용해도 무방하지만, 3자가 만든 신뢰할 수 없는 스크립트를 실행하면 큰 피해를 입을 수 가 있습니다. NSE 는 Network discovery 도메인을.. 2017. 1. 31.
1. nmap_1 #명령어 사용 및 연습시 확실히 허가된 테스트 환경에서 진행해야 하고, 허가받지 않은 곳에서 하여 피해 발생시 온전히 자신의 책임입니다. network mapper의 줄임말인 nmap에 대해 알아보겠습니다. nmap은 네트워크 탐색 및 보안감사를 하는 툴로서 대표적으로 포트스캐닝, 특정 호스트의 정보 파악, 필터나 방화벽 알아내기 등 여러 정보를 획득할 수 있습니다. 사용법nmap [option] [target] nmap 은 옵션이 정말 많습니다. 우선 man 페이지를 번역하고 요약하여 올려보았습니다. https://linux.die.net/man/1/nmap 옵션기 능 -v 자세한 정보 출력 -A OS 및 버전 감지, traceroute, script scanning 을 활성화 타겟 관련 옵션-iL 파.. 2017. 1. 30.
0. DVWA 설치 #명령어 사용 및 연습시 확실히 허가된 테스트 환경에서 진행해야 하고, 허가받지 않은 곳에서 하여 피해 발생시 온전히 자신의 책임입니다. 웹해킹 연습을 위하여 테스트 환경을 구축하는 것부터 하겠습니다. VM 에 칼리를 깔아서 해볼것이고, 웹어플리케이션은 DVWA 를 사용하도록 하겠습니다. DVWA는 취약하게 설계된 PHP, Mysql 웹 어플리케이션입니다. 웹 보호를 공부하는데 있어 도움이되는 어플리케이션 입니다. 우선 칼리 설치는 전에 올린적이 있습니다. 2016/11/16 - [Hack] - Kali linux 설치 칼리에 들어가서 fire fox를 열어 http://www.dvwa.co.uk 에 접속합니다. 접속하여 DOWNLOAD 를 클릭합니다. 해당 다운로드한 zip 파일의 압축을 풀어줍니다. .. 2017. 1. 26.
ftz 풀이 level20 ftz level20 풀어보겠습니다. 힌트조회 입니다. BOF 문제 인줄 알았는데 fgets으로 받는 크기가 79로 배열크기 보다 작아서 바로 다른 방식으로 넘어갔습니다. FormatString Attack 으로 해보겠습니다. 우선 메모리를 조회해 보겠습니다. 심볼을 막아놓았습니다. 더욱 BOF의 가능성이 희미해졌습니다. 시험삼아 프로그램을 돌려 보았는데 문자는 그대로 출력하나, %x(서식문자)를 넣으니 알 수 없는 값이 출력되었습니다. 이를 포맷스트링 취약점이라고 합니다. 힌트에 보면 printf(bleh); 로 되어 있는데 보통 형식과는 다름을 알 수 있습니다. 보통은 printf("%x", bleh); 이러한 방식으로 써서 bleh의 주소를 넘겨 해당 형식에 맞게 출력하게 되는데, 그냥 전자 처럼 .. 2017. 1. 12.
ftz 풀이 level19 ftz level19 풀어보겠습니다. 힌트조회 입니다. 코드가 생각보다 간단합니다. 배열선언 후 gets 함수로 입력받은 값을 출력하는 프로그램입니다. gets 함수에서 버퍼오버플로 취약점이 있다는 것을 알 수 있습니다. 구조를 한 번 보겠습니다. 메모리 구조를 한번 정리해보면 20(배열)+20(dummy)+4(sfp)+(ret) 44바이트를 건너뛰고 쉘코드 환경변수 주소를 삽입하여 공격해보겠습니다. 환경변수를 설정하였으면 getenv 함수로 주소를 추출합니다. 주소가 나왔으니 공격을 해보겠습니다. 공격하니 권한상승이 이루어지지 않았습니다. 권한 상승을 위해 setreuid 가 필요합니다. level20의 uid는 3100임을 확인하였습니다. setreuid 와 쉘실행을 포함한 쉘코드를 다시 환경변수에 .. 2017. 1. 11.
ftz 풀이 level18 ftz level18 풀어보겠습니다. 힌트조회입니다. attackme의 소스인데 필수적인 몇개만 설명하며 넘어가겠습니다. *FD_SET, FD_ZERO, select() 에 대한 내용은 아래의 URL을 참고하시면 됩니다.http://mintnlatte.tistory.com/313 if(count >= 100) //count가 100이상이면 printf("what are you trying to do?\n"); //문자열 출력 if(check == 0xdeadbeef) //check의 값이 0xdeadbeef 이면 shellout(); //shellout함수 실행(쉘함수) switch(x) //switch case문 { case '\r': //x가 \r 일 경우 아무것도 안함 case '\n': //x가 .. 2017. 1. 8.