2월, 2015의 게시물 표시

이제 시작이야 해킹과 침투테스트 (4)

이미지
Medusa : 원격 서비스의 권한 획득하기 2단계 결과 값을 검토할 때  원격 접근 서비스가 있는 IP주소에 특별한 관심을 보여야한다. SSH, Telnet, FTP, PC anywhere, VNC 등의 접근 권한을 획득하면 공격대상을 장악할 수 있다. 해커들은 보통 이러한 서비스를 발견하면 "온라인 비밀번호 크래킹"을 시도한다. 온라인 비밀번호 크래킹이란, 비밀번호를 무작위 대입하여 공격하는 기법이다. 반대로 오프라인 패스워드 크래커를 사용할 때는 서비스가 실행되고 있지 않아도 된다. 그 대신 패스워드 해쉬가 필요하다. 비밀번호 크래킹 툴은 다향하나 가장 많이 사용되는 툴은 Medusa 와 Hydra가 있다. Medusa는 원격 인증 서비스의 접근 권한을 획득하기 위해 로그인 계정을 무차별로 대입하는 툴이다. Medusa를 사용하려면 공격 대상 IP주소, 로그인을 시도할 사용자 계정 또는 계정 목록, 로그인을 시도할 떄 사용될 비밀번호나 비밀번호 사전 파일, 인증을 시도하는 서비스의 이름 등 여러 가지 정보가 필요하다. JtR 같은 오프라인 비밀번호 크래킹들은 1초에 백만 개의 비밀번호를 테스트 할 수 있다. 하지만 Medusa 나 Hydra 같은 비밀번호 크래킹 툴은 1초에 한 두 개의 비밀번호를 테스트 할 수 있다. medusa -h 공격대상 IP -u 사용자 계정 -P 비밀번호 사전 경로 -M 공격할 인증 서비스 -U를 쓰면 사용자 계정들을 쓴 파일의 경로를 쓴다. -P도 마찬가지이다. #굉장히 오래걸리는 것을 확인할 수 있다. Metasploit 최초의 오픈소스 공격 프레임 워크이다. Metasploit은 공격대상과 다양한 페이로드를 선택할 수 있게 해준다. 페이로드는 추가적인 기능 또는 공격대상 컴퓨터에서 달성하고 싶은 행동 방식이다. Metasploit과 취약점 스캐너의 차이점에 대해 이해해야한다. 스캔은 매우 간접적인 방법으로 공격대상을 의도하지 않게 파손한다거나 영향을 줄 확...

이제 시작이야 해킹과 침투테스트 (3)

3장 스캐닝 1단계 탐색에서는 IP주소만을 목록화하는 것이다. 이제 2단계에서는 이 IP주소를 가지고 , 각 주소에 어떤 포트가 열려 있는지 그리고 어떤 서비스가 실행되고 있는지 확인할 것이다. 3장의 모든 예는 칼리 리눅스ㅔ서 운도우 xp나 metasploitable VM을 대상으로 실행되는 것이다. 이 책의 숙제는 Metasploitable VM을 성공적으로 해킹하여 시스템을 장악하는 것이다. 2단계를 다음 네 가지의 과정으로 재차 분류할 것이다. 2-1. 핑 패킷으로 컴퓨터가 작동 중인지 확인. 2-2. Nmap을 통한 포트 스캐닝 2-3. NSE을 활용하여 대상에 대한 정보 추가로 획득 2-4. Nessus를 통한 취약점 스캐닝 어느 정도 숙련이 되고 나면 2-1과 2-2를 별도로 진행하지 앟고 Nmap으로 한번 진행하게 될 것이다. 과정 2-2는 특정 컴퓨터에서 어떤 포트가 열려 있는지 그리고 어떤 서비스가 실행 중인지 확인하는 과정이다. 간단히 설명하자면 포트는 소프트웨어, 서비스,네트워크가 컴퓨터와 같은 하드웨어와 통신할 수 있게 해주는 수단이다. 과정 2-3은 NSE를 활용하여 앞에서 발견한 내용을 확인하고, 추가로 정보도 획득한다. NSE는 Nmap의 기능을 확장시켜준다. NSE로 직접 스크립트를 만들어서 결과값에 대해 확인하거나 새로운 취약점을 검색하거나 아니면 여러 해킹기법을 자동화 할 수 있다. 과정 2-4는 취약점 스캐닝이다. 이미 알려져 있는 취약점을 발견하는 것은 로또 확률이다. 해킹에 성공한 컴퓨터를 사용하여 다른 컴퓨터를 공격하는 것을 pivoting이라고 한다. 최종 목적지에 다다르기 위해 pivoting을 여러번 헤야 할 수 있다. 처음에는 외부 네트워크와 연결되어 있는 장비를 먼저 공략하고 , 점차 내부에 있는 장비를 공략하는 것이다. Fping : 핑과 핑 스윕 핑은 ICMP패킷이라고 불리는 특수 네트워크 패킷의 일종이다. 핑은 ICMP 반향 요청 패킷이라는 특수한 네트워크 트래...

이제 시작이야 해킹과 침투 테스트 (2)

netcraft 또 다른 정보 수집 수단. site repot 에는 IP 주소, 웹서버의 운영체제,DNS 서버 등을 포함하여 공격 대상에 대한 많은 정보들을 포함하고 있다. Host 종종 탐색을 하다보면 IP주소보다는 호스트 이름을 검색 결과로 얻을 경우가 있다. 이 때 host 툴로 host 이름을 통해 IP 주소를 알 수 있다. 터미널에 host target_hostname 을 입력하면 IP주소로 변환된다. 반대로 IP 주소로 host 이름을 알 수 있다. DNS에서 정보 추출하기 침투테스터는 공격 대상의 DNS 서버에 초점을 맞출 필요가 있다. DNS 서버는 고장나지 않으면 건들지 말라는 원칙으로 운영되고 있기 때문에 살펴보기 흥미롭다. 요새는 드물지만 공격대상 DNS를 해킹할 떄 가장 먼저 해야 할 것은 zone transfer 이다. 많은 네트워크에서는 redundancy 와 load balancing 을 위해 여러 대의 DNS 서버를 사용한다. 그 결과 DNS 서버들이 서로서로 정보를 공유하는 방법이 필요하다. 이러한 공유는 zone transfer(구역 전달)이라고 한다. 구역 전달은 공격 대상 DNS 서버가 보유하고 있는 모든 기록을 획득할 수도 있다. nslookup DNS을 조사하기 위한 첫 번째 툴은 nslookup 이다. 이것은 DNS 서버를 쿼리하고 호스트에 대한 기록을 확보할 수 있는 툴이다. Dig Dig 또한 DNS 에서 정보를 추출할 수 있는 훌륭한 툴이다. dig @target_ip Fierce : zone transfer가 실패했을 때 해야할 일 Fierce는 사용하기 쉽고, 강력한 펄 스크립트이며 추가 공격대상을 발견할 수 있도록 해준다. fierce는 /usr/bin/fierce 에서 dierce.pl 스크립트를 실행하면 툴을 실행할 수 있다. fierce는 지정된 도메인에 대한 구역 전달을 시도할 것이다. 만약 실패하면, 공격대상의 DNS서버의 쿼리를 전송하여 호스트...

코드라이언 1주차 멋진 에디터를 익히자

이미지
일반 모드에서 입력 모드로 전환할 때  i  키 이외에  a  키와  o  키도 사용할 수 있다.  i  키,  a  키,  o  키 모두 일반 모드에서 입력 모드로 전환할 때 사용할 수 있으나, 그 방식에 약간의 차이가 있다. 아래의 표에 잘 정리되어 있으니 참고하도록 하자: 키 설명 i 현재 커서 위치에서 입력 모드로 전환 (Insert) o 현재 커서 바로 아래에 새로운 행을 하나 만들고, 새로운 행의 맨 앞으로 커서가 이동하면서 입력 모드로 전환 (Open line) a 커서를 현재 위치에서 한 칸 뒤로 옮긴 뒤, 입력 모드로 전환 (Append) 실제로 빔 상에서  i  키,  o  키,  a  키를 눌러보면서 어떻게 변화하는지 직접 관찰해 보도록 하자! 만약 위의 키들을 다 기억하기 어려우면, 일단  i  키만 잘 기억해도 코드를 작성하는 데 크게 문제는 없다. 키 설명 e 바로 다음 단어의 맨 마지막 문자로 커서 이동 ( e nd of word) w 바로 다음 단어의 맨 첫 번째 문자로 커서 이동 ( w ord) b 바로 이전 단어의 맨 첫 번째 문자로 커서 이동 ( b efore word) $ 현재 위치한 행의 맨 마지막 문자로 커서 이동 ^ 현재 위치한 행의 맨 첫 번째 문자로 커서 이동 gg 현재 파일 내용의 맨 첫 번째 행으로 커서 이동 ( g o) G 현재 파일 내용의 맨 마지막 행으로 커서 이동 위 표에 나온 키들 중에서  $ ,  ^ ,  G 는 각각  Shift + 4 ,  Shift + 6 ,  Shift + g  키를 나타낸 것임에 주의하자. 또,  gg  키의 경우  g  키를 연속으로 두 번 누른 것을 나타낸 것...

코드라이언 0주차 개발환경 구축

클라이언트의 요청에 따라 웹 페이지를 보내는 서버를 편의 상 ‘ 서비스 서버 ’ 라고 하자 . 사실 웹 서비스를 제공하기 위해서는 이 ‘ 서비스 서버 ’ 만 있으면 된다 . 하지만 개발의 편의를 위하여 , 서비스 서버 외에 하나의 서버를 더 개설하고 여기에서 개발 작업을 수행하는 경우가 있다 . 이를 ‘ 개발 서버 ’ 라고 부른다 . Mac OS 나 리눅스를 운영체제로 하는 컴퓨터는 별도의 작업 없이 개발 서버로 사용할 수 있다 . 하지만 윈도우 (Windows) 를 운영체제로 하는 컴퓨터의 경우 , 그 자체를 개발 서버로 돌리기에는 사전에 거쳐야 할 셋팅 과정이 까다로우며 실제 사용하기에도 돈이 너무 많이 든다 . 그래서 윈도우 이용자들의 경우 외부로부터 리눅스를 운영체제로 하는 서버를 제공받아 원격으로 개발 서버를 이용하는 것이 더 편리하다 .   한편 최근 들어서는 ‘ 클라우드 컴퓨팅 (cloud computing)’ 기술이 각광받고 있다 . 클라우드 컴퓨팅은 가상화 기술을 이용하여 한 대 혹은 여러 대의 서버 공간을 가상으로 분할하여 제공하는 방식으로 , 사용성 , 확장성 , 비용 등의 측면에 있어 웹 / 서버 호스팅을 능가한다 . 이렇게 등장한 클라우드 컴퓨팅 서비스 중에서 가장 인기있는 서비스는 아마존 웹 서비스 ( 이하 AWS. Amazon Web Services) 이다 . 도메인은 인간의 편의를 위해 인간의 언어로 붙인 서버 주소로서 , 네이버를 비로소 ‘www.naver.com’ 으로 , 구글을 비로소 ‘www.google.com’ 으로 만들어준다 . 이 때 중요한 것은 , 컴퓨터는 서버의 주소를 IP 주소로 이해하며 , 인간은 서버의 주소를 도메인으로 이해한다는 점이다 . 즉 , 컴퓨터와 인간 모두를 위해 IP 주소와 도메인은 공존해야 하는 것이며 , 상호간에 일대일로 대응되어 자유롭게 변환될 수 있어야 한다 . 이렇게 IP 주소를 도메인으로 , 도메인을 IP 주소로 변환하는 작업을 담당하는 서버가 존재하...

이제 시작이야 해킹과 침투 테스트 (1)

1장 계단식 해킹 침투 테스트 방법론 1.정보수집 2.스캐닝 3.공격 4.접근권한 유지 +흔적 지우기 등 1.탐색 ( 정보 수집 ) 공격 대상에 대한 정보 수집. 정보는 많으면 많을수록 좋다. 2.스캐닝 1)포트 스캐닝 공격 대상에서 열려있는 포트의 목록과 실행 중인 잠재적인 서비스의 목록을 확보. 2)취약점 스캐닝 공격대상의 소프트웨어와 서비스의 특정 취약점을 찾아내거 식별하는 과정. 3.공격 공격의 최종 목표는 공격대상의 컴퓨터의 관리자 권한 획득. 4.접근 권한 유지 프로그램이 중지되거나 시스템이 재시작된 후에도 관리자 권한으로 접근할 수 있도록 해줌. 2장 탐색 정보를 수집할 때 사용할 수 있는 자동화 출이 많이 있지만 , 기초적인 부분을 이해한 후 어느 정도 경험이 쌓이면 툴을 사용하지 않게 될 것이다. 얼마나 중요한지 간과되는 단계이지만 굉장히 중요한 단계이다. HTTrack 웹사이트를 통쟤로 복사하는 툴. 오프라인으로 웹사이트를 살펴보면 철저하게 정보를 수집할 수 있다. 하지만 추적 당하기 쉬울 뿐만 아니라 매우 공격적인 행동. 침투 테스트를 수행 할 때 특별히 눈 여겨봐야 할 것은 뉴스나 공지 사항, 채용 정보, 게시판. 조니 롱의 비디오나 구글 해킹 책은 침투 테스트에 도움이 많이 된다. 침투 테스트에서 구글 검색은 효율적인 정보를 얻을 수 있다. 구글 검색 연산자: 구글권법 연습 1.사용하고 싶은 검색 연산자의 이름 2.콜론 3.검색 연산자와 함께 사용할 키워드 site:웹사이트 주소 검색하고 싶은 내용 ex) allintitle:index of     inurl:admin    cache:syngress.com     filetype:pdf     site:dsu.edu filetype:pptx 구글 해킹은 종종 구글 독이라고 불리기도 한다. www.exploit-...

Malware Fundamentals

https://www.youtube.com/watch?v=afzkoB_lYNk 맬웨어에 대한 기초 지식을 쌓은 동영상. 1. 개인에게 미치는 영향 2. 사이버범죄 3. 어떻게 퍼지는가? 1. 바이러스, 웜, 트로이 목마로 구성된 맬웨어 웜 : 바이러스가 다른 실행 프로그램에 기생하여 실행되는데 반해 웜은 독자적으로 실행되며 다른 실행 프로그램이 필요하지 않습니다. 따라서 웜은 바이러스와 달리 스스로 전달 가가능하며, 컴퓨터의 파일만을 감염 혹은 손상시키는 바이러스와 달리 네트워크를 손상시키고 대역폭을 감식합니다. 바이러스 : 프로그램, 실행 가능한 일부분 혹은 데이터에 자기 자신 혹은 변형된 자신을 복사하는 명령어들의 조합이라고 정의. 바이러스는 전염성이 매우 강해서 일단 PC 내로 들어오면 다른 파일들까지 급속하게 감염시키며, 이메일이나 외부저장장치를 통해서 다른 PC 들로 전파됩니다. 트로이 목마 : 악성 루틴이 숨어 있는 프로그램으로, 겉보기에는 정상적인 프로그램으로 보이지만 실행하면 악성코드를 실행합니다. 따라서 앞의 두 악성코드처럼 전염성을 갖고 있지 않고, 웹페이지 이메일, P2P 사이트 등에서 유용한 프로그램으로 가장해 사용자의 선택을 기다립니다. 백도어를 열어 다른 곳에서 컴퓨터를 원격으로 조종할 수도 있습니다. 2. 맬웨어를 통한 사이버 범죄  맬웨어로 봇넷을 사용해 스팸 메시지를 보냄. 봇넷들을 이용해 디도스 공격을 해 서버를 마비시킴.  사이버 범죄 피해액이 어마어마하다.  표적의 수는 증가하고 동기는 다양해지고 있다.  랜섬웨어  페이크 안티 바이러스 -> 팝업 경고창을 뜨게 하고 있지도 않은 맬웨어가 있다고 해서 결제를 통한 맬웨러 제거를 추천한다. 결제를 하면 결제 정보는 공격자에게 넘어간다. 3. 다양한 맬웨어 배포 방법 위험한 웹사이트를 들어가면 네트워크를 통해 맬웨어가 컴퓨터에 자동적으로 잠입. DRIVE BY DOWNLOAD USB나 C...

시작

미래에 도움이 되기 위한 블로그 시작