블로그 이미지

my hiding place

삶이 힘들 때, 조금이라도 고개를 들고 위를 보세요. 푸른 하늘이 당신을 맞이해줄 날이 있을 테니까. by nulonge


'metasploit'에 해당되는 글 4건

  1. 2009.12.11 Metasploit 3.3.2 릴리즈
  2. 2009.02.03 MacPorts로 설치한 ruby에 rubynode가 설치되지 않을 때
  3. 2008.07.23 iPhone에 metasploit3라... =_=;
  4. 2008.07.19 OS X에 기본 설치된 ruby를 이용한 metasploit 설치

Metasploit 3.3.2 릴리즈

Metasploit가 매우 활발하게 움직이고 있나봅니다.
Rapid7에 인수되더니 지속적인 마이너 버전 릴리즈가 계획되어 있네요.

조만간 Metasploit3.3.3이 나온다는... : Metasploit Roadmap
Comment 0 Trackback 0
Top

MacPorts로 설치한 ruby에 rubynode가 설치되지 않을 때

애플에서 Mac OS X에 기본 탑재해 배포하는 *nix 바이너리는 패치가 늦는 편입니다.

OS X에 탑재된 ruby와 python도 예외는 아니어서, 기본 탑재되는 python은 2.4, ruby 버전은 1.8.6-p114이죠. 저는 오늘 macports를 이용해 ruby를 1.8.6-p287로 업데이트했습니다. (metasploit가 ruby 1.8.7에서는 잘 동작하지 않기 때문에 1.8.7 버전은 metasploit가 업데이트 될 때까지 사용하지 않고 있습니다. 업데이트할 때는 "sudo port install ruby186 +tk +thread_hooks" 명령을 사용했습니다. macports에서 제공되는 rubygems 패키지는 ruby 1.8.7에 의존성을 갖고 있기에, rubygems 사이트에서 소스를 받아서 직접 설치했습니다.)

rubygem으로 Mac OS X에 기본 설치되어 있는 rubygem들을 설치하는 과정에서 문제가 발생했는데, rubynode라는 gem이 설치되지 않습니다. RUBY_SOURCE_DIR라는 환경 변수에 ruby 소스파일 디렉토리를 지정해달라고 하는데, ruby 소스 디렉토리를 지정해줘도 설치되지 않지요...... sudo 명령에 문제가 있는걸까요? Google 검색을 통해 원인을 해결했는데, 다음 링크에 힌트가 있었습니다: http://www.keith-lancaster.com/blog/?p=24

단, 문제가 있다면, root로 로그인했을 때, PATH를 재설정해주어야 하는데, 이 부분이 설명이 되어 있지 않아서 추가 작업이 필요합니다. 그렇지 않으면, Mac에서 기본적으로 구성해주는 환경에서 rubynode를 설치하게 됩니다.

1. root 패스워드 부여
Mac OS X에서는 root 계정이 비활성화되어 있으므로 패스워드 지정: sudo passwd root

2. root로 로그인: su -

3. PATH에서 macport로 설치된 ruby와 gem을 기본 경로에 설치된 ruby와 gem보다 먼저 참조하도록 설정 변경
export PATH=/usr/local/sbin:/usr/local/bin:$PATH

여기서 주의할 점: macports의 기본 설치경로는 /opt/local인데, 저는 /usr/local로 변경해서 설치했습니다. 기본 설정에 따라 macports를 설치한 경우, export PATH=/opt/local/sbin:/opt/local/bin:$PATH로 입력해야 합니다. 이하 내용들도 마찬가지 입니다.

4. rubynode는 설치될 때 ruby 소스 코드를 참조하게 되어 있습니다. Mac OS X에서 사용중인 macports와 동일한 버전으로 ruby 소스코드를 다운로드해서 적당한 경로에 풀어놓고, 저장한 경로를 환경 설정에 추가해줍니다
export RUBY_SOURCE_DIR=/usr/local/src/ruby-1.8.6-p287

5. mactports 디렉토리에서 ruby의 소스 디렉토리로 node.h 헤더 파일을 복사합니다. macports가 node.h 헤더 파일에 무슨 변형을 가했기 때문에 정상적으로 설치되지 않는 것 같습니다. (http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-talk/291651)
cp /usr/local/lib/ruby/1.8/i686-darwin9.6.0/node.h /usr/local/src/ruby-1.8.6-p287

6. gem 명령을 이용해 rubynode를 설치합니다: gem install rubynode

이렇게 해서, 원하던대로 ruby를 업데이트하면서 원래 Mac OS X에 설치되어 있는 ruby와 동일한 rubygem들을 설치할 수 있었습니다. 이상 끝.

Comment 0 Trackback 1
Top

iPhone에 metasploit3라... =_=;

휴대용 IT 기기가 점점 늘어나면서 보안 위협은 정말 상상 밖으로 커져가는 것 같습니다.

취약성 공격 코드를 작성하고 공격하는데 사용되는 metasploit을 iPhone에 설치하는 방법이 공개되었다니, 정말 신기할 따름입니다. iPhone을 해킹 툴로 만들 수 있다는게 무섭습니다.

http://secmaniac.blogspot.com/2008/07/metasploit-3-on-iphone.html

물리적인 보안정책을 강화해서 회사내에 이런 기기를 갖고 들어오는 것을 차단해야할까요? 그저 핸드폰일 뿐인데.
Comment 0 Trackback 0
Top

OS X에 기본 설치된 ruby를 이용한 metasploit 설치

보통 OS X에 metasploit을 설치하려면 macport를 이용해서 ruby on rails를 설치해야합니다. (설치방법은 metasploit.com을 참조)

그런데, 왜, OS X에 기본 탑재되는 ruby를 외면하고 ruby, rubygems, rails를 순차적으로 설치해야 하는 것일까요? 갑자기 궁금해졌습니다. 가능하다면, 시스템에서 기본 제공되는 것을 그대로 이용하는 것이, 저장공간의 효과적인 활용이나, 유지보수 측면에서 좋지 않을까요? 굳이 뭔가를 새로 설치해야 한다는 것이 싫어서 호기심을 갖고 나름대로 metasploit3.1을 설치하려고 시도했습니다.

설치방법은 의외로 간단했습니다. 일단, OS X에서 기본 제공되는 ruby의 버전을 확인해보았습니다.

nulonge:~ saint$ ruby --version
ruby 1.8.6 (2008-03-03 patchlevel 114) [universal-darwin9.0]

네, 가장 최근 릴리즈된 안정 버전이 1.8.7-p22이지만, 그리 나쁠 건 없죠? ruby 업그레이드는 나중에 하기로 하고, 이제는 rubygems를 설치합니다. rubygems.org에서 rubygems 최신 릴리즈를 다운로드합니다. (현재 최신 릴리즈는 1.2.0 버전입니다.) (현재 Metasploit 최신 안정 버전은 3.1입니다. ruby 버전이 1.8.7로 업데이트되었지만, metasploit은 ruby 1.8.7에서 동작하지 않습니다. #2008.11.6)

nulonge:~ saint$ cd Downloads
nulonge:Downloads saint$ wget http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz      // 저는 wget을 미리 설치해놓았습니다.
--2008-07-19 18:28:22--  http://rubyforge.org/frs/download.php/38646/rubygems-1.2.0.tgz
Resolving rubyforge.org... 205.234.109.19
Connecting to rubyforge.org|205.234.109.19|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.2.0.tgz [following]
--2008-07-19 18:28:23--  http://files.rubyforge.vm.bytemark.co.uk/rubygems/rubygems-1.2.0.tgz
Resolving files.rubyforge.vm.bytemark.co.uk... 80.68.94.54
Connecting to files.rubyforge.vm.bytemark.co.uk|80.68.94.54|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 246920 (241K) [application/x-tar]
Saving to: `rubygems-1.2.0.tgz'

100%[======================================>] 246,920     96.1K/s   in 2.5s   

2008-07-19 18:28:27 (96.1 KB/s) - `rubygems-1.2.0.tgz' saved [246920/246920]

nulonge:Downloads saint$ tar xvf rubygems-1.2.0.tgz
nulonge:Downloads saint$ cd rubygems-1.2.0
nulonge:rubygems-1.2.0 saint$ sudo ruby setup.rb

이제, rubygems가 설치되었습니다. OS X에서 rubygems는 "/Library/Ruby/Site/1.8/rubygems"에 설치됩니다. rails를 설치해볼까요?

nulonge:rubygems-1.2.0 saint$ sudo gem install rails

이렇게해서 metasploit 실행에 필요한 ruby on rails의 환경은 대략 마무리 되었습니다. 여기서 웹 개발을 할거라면 추가적인 무언가가 필요하겠지만, metasploit을 구동하는데는 기본적인 패키지 설치만으로 만족합니다.

이제 svn을 이용해서 metasploit 최신 버전을 다운받아서 설치합니다. 사실, metasploit은 ruby 스크립트이기 때문에 별도의 설치가 필요없습니다.

nulonge:~ saint$ sudo svn update
Skipped '.'
nulonge:~ saint$ sudo svn co http://metasploit.com/svn/framework3/trunk/
... //다운로드 받는 파일들이 주르륵~ 스크롤되어 출력됩니다.
Checked out revision 5556. //빌드넘버가 5556인가 봅니다?
nulonge:~ saint$ cd /usr/
nulonge:usr saint$ sudo mkdir local
nulonge:usr saint$ sudo mkdir local/msf
nulonge:usr saint$ sudo mv ~/trunk/* /usr/local/msf/  //trunk 디렉토리에 있는 모든 파일들을 /usr/local/msf로 이동시켰습니다.
nulonge:usr saint$ rm -rf ~/trunk/
nulonge:usr saint$ cd local/msf/

자, 이제 metasploit을 실행할 일만 남았죠? 웹 UI를 이용해보려고 msfweb을 실행해보았습니다.

nulonge:msf saint$ ./msfweb

[*] Starting msfweb v3.2-release on http://127.0.0.1:55555/

=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:243:in `mkdir': Permission denied - script/../config/../tmp/pids (Errno::EACCES)
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:243:in `fu_mkdir'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:217:in `mkdir_p'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:215:in `reverse_each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:215:in `mkdir_p'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:201:in `each'
    from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:201:in `mkdir_p'
    from ./script/../config/../vendor/rails/railties/lib/commands/server.rb:38
    from ./script/../config/../vendor/rails/railties/lib/commands/server.rb:38:in `each'
    from ./script/../config/../vendor/rails/railties/lib/commands/server.rb:38
    from ./script/server:3:in `require'
    from ./script/server:3
    from ./msfweb:82:in `load'
    from ./msfweb:82

어랏? 실행이 되질 않는군요. 자세히 보니 이런 내용이 보입니다.

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/fileutils.rb:243:in `mkdir': Permission denied - script/../config/../tmp/pids (Errno::EACCES)

네, 실행권한이 없어서 그랬나봅니다. 그래서 sudo를 붙여 시도해보니 정상적으로 실행됩니다. -_-;a

nulonge:msf saint$ sudo ./msfweb

[*] Starting msfweb v3.2-release on http://127.0.0.1:55555/

=> Booting Mongrel (use 'script/server webrick' to force WEBrick)
=> Rails application starting on http://127.0.0.1:55555
=> Call with -d to detach
=> Ctrl-C to shutdown server
** Starting Mongrel listening at 127.0.0.1:55555
** Starting Rails with production environment...
Defined connections: {"ActiveRecord::Base"=>#<ActiveRecord::Base::ConnectionSpecification:0x22db624 @config={:host=>"localhost", :adapter=>"mysql", :username=>"root", :database=>"msfweb_production", :password=>nil}, @adapter_method="mysql_connection">}
Active connections: {}
Active connection name: ActiveRecord::Base
** Rails loaded.
** Loading any Rails specific GemPlugins
** Signals ready.  TERM => stop.  USR2 => restart.  INT => stop (no restart).
** Rails signals registered.  HUP => reload (without restart).  It might not work well.
** Mongrel 1.1.4 available at 127.0.0.1:55555
** Use CTRL-C to stop.

이제, OS X에서 macports를 이용한 ruby on rails 패키지를 설치하지 않아도 metasploit을 사용할 수 있게되었습니다. ㅠ.ㅠ

지금까지 metasploit을 설치하는 과정을 설명드렸습니다. 그럼, macports를 이용해서 metasploit을 설치해도 되는데 왜 굳이 이렇게 설치했는지 이유를 말씀드린다면... 최신 버전을 써보고 싶었기 때문입니다. ㅠ.ㅠ macport에서 지원되는 버전은 3.0이고, 최신 릴리즈는 3.1이기 때문입니다. (어디선가 겨우 0.1 때문에 그런 것이냐는 야유가 들리는 것 같습니다. =_=;+) 그리고, 이미 OS X에서 ruby가 제공되는데, 왜 따로 ruby를 재설치해야하는가 하는 의문이 들었기 때문이죠... 뭐, 어쨌거나... 앞으로는 열심히! 해킹 공부할 일만 남았군요. 내 능력에 과연 해킹을 배울 수 있을까 하는 의문은 들지만, 어쨌든, 고고싱~~.

Comment 0 Trackback 0
Top

prev 1 next