홈페이지 취약점 분석 이야기 파일 지도 사진 깨알






>> 목록보이기
#인터넷 익명성 #Anonymity on the Internet #Tor Network #토르 네트워크 #Tor Browser #토르 브라우저 #Kali Linux #칼리리눅스

Kali Linux에 Tor Browser 설치하기

인터넷 익명성을 보장에 널리 사용되는 웹 브라우저가 토르 브라우저(Tor Browser)이다. 그런데 칼리 리눅스는 주로 root 권한으로 사용하게 되는 데, 기본적으로 Tor Browser는 root 권한으로 실행하지 못하도록 설정되어 있다. 이를 풀기 위해서는 약간의 작업이 필요하다.

먼저 다음과 같이 tor 꾸러미를 설치한다.

apt-get install tor

토르 브라우저 다운로드 페이지에서 Linux용 Tor Browser를 내려받는다. 칼리리눅스가 32비트인 경우에는 32-bit용을 64비트인 경우에는 64-bit용을 선택한다.

torbrowser download page
[ 토르브라우저(Tor Browser) 다운로드 페이지 ]

또는 명령행에서 다음과 같이 받을 수도 있다.

[64-bit용 Tor Browser 내려받기]

cd ~
wget https://www.torproject.org/dist/torbrowser/6.0.5/tor-browser-linux64-6.0.5_en-US.tar.xz

[32-bit용 Tor Browser 내려받기]

cd ~
wget https://www.torproject.org/dist/torbrowser/6.0.5/tor-browser-linux32-6.0.5_en-US.tar.xz

Kali Linux가 64비트라고 가정하여 다운로드와 다음 과정을 명령행에서 진행한다.

root@kali:~# cd ~
root@kali:~# pwd
/root
root@kali:~# wget https://www.torproject.org/dist/torbrowser/6.0.5/tor-browser-linux64-6.0.5_en-US.tar.xz
[출력 생략]
HTTP request sent, awaiting response... 200 OK
Length: 69899052 (67M) [application/x-xz]
Saving to: ‘tor-browser-linux64-6.0.5_en-US.tar.xz’

tor-browser-linux64 100%[==================>]  66.66M  4.99MB/s    in 34s     

2016-11-14 16:12:02 (1.98 MB/s) - ‘tor-browser-linux64-6.0.5_en-US.tar.xz’ saved [69899052/69899052]

root@kali:~# tar xvf tor-browser-linux64-6.0.5_en-US.tar.xz

[출력 생략]

root@kali:~# cd tor-browser_en-US/Browser/
root@kali:~/tor-browser_en-US/Browser# ./start-tor-browser

The Tor Browser Bundle should not be run as root.  Exiting.
[ root 권한으로 Tor Browser를 실행할 수 없음 ]

~/tor-browser_en-US/Browser/ 디렉토리에서 start-tor-browser 스크립트를 실행시키면 "The Tor Browser Bundle should not be run as root. Exiting."라는 메시지를 띄우고 토르브라우저가 실행되지 않는다.

vigedit와 같은 편집기를 이용하여 start-tor-browser 파일의 94번째 줄을 편집한다.

[start-tor-browser 파일의 94-97번째 줄(원본)]

if [ "`id -u`" -eq 0 ]; then
        complain "The Tor Browser Bundle should not be run as root.  Exiting."
        exit 1
fi

[start-tor-browser 파일의 94-97번째 줄(수정본)]

if [ "`id -u`" -eq 1 ]; then
        complain "The Tor Browser Bundle should not be run as root.  Exiting."
        exit 1
fi

`id -u`가 0이면 root를 의미하므로 0이 아닌 숫자 1로 변경한 것이다. 칼리에서 `id -u`가 1인 계정은 daemon으로 이 계정에서 토르 브라우저를 실행할 일은 없을 것이다 :-)

다시 start-tor-browser 스크립트를 실행하여 토르브라우저 실행을 시도하면 다음과 같은 오류가 발생한다(오류: "Tor unexpectedly exited. This might be due to a bug in Tor itself, another program on your system, or faulty hardware. Until you restart Tor, the Tor Browser will not able to reach any websites. If the problem persists, please send a copy of your Tor Log to the support team. Restarting Tor will not close your browser tabs.").

torbrowser error - Restart Tor
[ 토르브라우저(Tor Browser) 오류 ]

"Quit"를 클릭하여 종료한다.

이 문제는 ~/tor-browser_en-US/Browser/ 디렉토리 내의 파일들의 소유자가 root가 아니어서 발생한다고 한다. 이 디렉토리 내의 모든 파일 및 디렉토리의 소유자를 root로 변경하자.

chown -R root *

명령행에서 변경 전후의 파일/디렉토리 정보를 살펴보면 다음과 같다.

root@kali:~/tor-browser_en-US/Browser# ls -als
합계 96220
    4 drwx------ 14 1000 1000     4096 11월 14 17:00 ./
    4 drwx------  3 1000 1000     4096 11월 14 16:59 ../
    4 drwxr-xr-x  3 root root     4096 11월 14 16:59 .cache/
    4 drwxr-xr-x  3 root root     4096 11월 14 16:55 .config/
    4 drwx------  3 root root     4096 11월 14 16:55 .gnome2/
    4 drwx------  2 root root     4096 11월 14 16:55 .gnome2_private/
    4 drwxr-xr-x  2 root root     4096 11월 14 16:55 Desktop/
    4 drwx------  5 1000 1000     4096  1월  1  2000 TorBrowser/
    4 -rw-------  1 1000 1000      440  1월  1  2000 application.ini
    4 drwx------  6 1000 1000     4096  1월  1  2000 browser/
    4 drwx------  3 1000 1000     4096  1월  1  2000 defaults/
    4 -rw-------  1 1000 1000      127  1월  1  2000 dependentlibs.list
    4 drwx------  2 1000 1000     4096  1월  1  2000 dictionaries/
    4 -rwx------  1 1000 1000      284  1월  1  2000 execdesktop*
  124 -rwx------  1 1000 1000   125560  1월  1  2000 firefox*
    4 drwx------  2 1000 1000     4096  1월  1  2000 fonts/
    4 drwx------  2 1000 1000     4096  1월  1  2000 icons/
  480 -rwx------  1 1000 1000   489816  1월  1  2000 libfreebl3.so*
  124 -rwx------  1 1000 1000   123544  1월  1  2000 liblgpllibs.so*
  664 -rwx------  1 1000 1000   678336  1월  1  2000 libmozsqlite3.so*
  264 -rwx------  1 1000 1000   267168  1월  1  2000 libnspr4.so*
  964 -rwx------  1 1000 1000   984360  1월  1  2000 libnss3.so*
  640 -rwx------  1 1000 1000   653064  1월  1  2000 libnssckbi.so*
  120 -rwx------  1 1000 1000   121168  1월  1  2000 libnssdbm3.so*
  164 -rwx------  1 1000 1000   166240  1월  1  2000 libnssutil3.so*
   24 -rwx------  1 1000 1000    22880  1월  1  2000 libplc4.so*
   16 -rwx------  1 1000 1000    14720  1월  1  2000 libplds4.so*
  140 -rwx------  1 1000 1000   142200  1월  1  2000 libsmime3.so*
  228 -rwx------  1 1000 1000   232800  1월  1  2000 libsoftokn3.so*
  228 -rwx------  1 1000 1000   232144  1월  1  2000 libssl3.so*
81648 -rwx------  1 1000 1000 83607000  1월  1  2000 libxul.so*
 9548 -rw-------  1 1000 1000  9775956  1월  1  2000 omni.ja
    4 -rw-------  1 1000 1000       48  1월  1  2000 platform.ini
  264 -rwx------  1 1000 1000   269008  1월  1  2000 plugin-container*
  192 -rw-------  1 1000 1000   196548  1월  1  2000 precomplete
    4 -rw-------  1 1000 1000      707  1월  1  2000 removed-files
   12 -rwx------  1 1000 1000     8915  1월  1  2000 run-mozilla.sh*
   16 -rwx------  1 1000 1000    12891 11월 14 16:55 start-tor-browser*
    4 -rwx------  1 1000 1000     1682  1월  1  2000 start-tor-browser.desktop*
    4 -rw-------  1 1000 1000      138  1월  1  2000 update-settings.ini
  124 -rwx------  1 1000 1000   124376  1월  1  2000 updater*
    4 -rw-------  1 1000 1000      689  1월  1  2000 updater.ini
    4 drwx------  2 1000 1000     4096 11월 14 16:14 webapprt/
  148 -rwx------  1 1000 1000   150144  1월  1  2000 webapprt-stub*
root@kali:~/tor-browser_en-US/Browser# chown -R root *
root@kali:~/tor-browser_en-US/Browser# ls -als
합계 96220
    4 drwx------ 14 1000 1000     4096 11월 14 17:00 ./
    4 drwx------  3 1000 1000     4096 11월 14 16:59 ../
    4 drwxr-xr-x  3 root root     4096 11월 14 16:59 .cache/
    4 drwxr-xr-x  3 root root     4096 11월 14 16:55 .config/
    4 drwx------  3 root root     4096 11월 14 16:55 .gnome2/
    4 drwx------  2 root root     4096 11월 14 16:55 .gnome2_private/
    4 drwxr-xr-x  2 root root     4096 11월 14 16:55 Desktop/
    4 drwx------  5 root 1000     4096  1월  1  2000 TorBrowser/
    4 -rw-------  1 root 1000      440  1월  1  2000 application.ini
    4 drwx------  6 root 1000     4096  1월  1  2000 browser/
    4 drwx------  3 root 1000     4096  1월  1  2000 defaults/
    4 -rw-------  1 root 1000      127  1월  1  2000 dependentlibs.list
    4 drwx------  2 root 1000     4096  1월  1  2000 dictionaries/
    4 -rwx------  1 root 1000      284  1월  1  2000 execdesktop*
  124 -rwx------  1 root 1000   125560  1월  1  2000 firefox*
    4 drwx------  2 root 1000     4096  1월  1  2000 fonts/
    4 drwx------  2 root 1000     4096  1월  1  2000 icons/
  480 -rwx------  1 root 1000   489816  1월  1  2000 libfreebl3.so*
  124 -rwx------  1 root 1000   123544  1월  1  2000 liblgpllibs.so*
  664 -rwx------  1 root 1000   678336  1월  1  2000 libmozsqlite3.so*
  264 -rwx------  1 root 1000   267168  1월  1  2000 libnspr4.so*
  964 -rwx------  1 root 1000   984360  1월  1  2000 libnss3.so*
  640 -rwx------  1 root 1000   653064  1월  1  2000 libnssckbi.so*
  120 -rwx------  1 root 1000   121168  1월  1  2000 libnssdbm3.so*
  164 -rwx------  1 root 1000   166240  1월  1  2000 libnssutil3.so*
   24 -rwx------  1 root 1000    22880  1월  1  2000 libplc4.so*
   16 -rwx------  1 root 1000    14720  1월  1  2000 libplds4.so*
  140 -rwx------  1 root 1000   142200  1월  1  2000 libsmime3.so*
  228 -rwx------  1 root 1000   232800  1월  1  2000 libsoftokn3.so*
  228 -rwx------  1 root 1000   232144  1월  1  2000 libssl3.so*
81648 -rwx------  1 root 1000 83607000  1월  1  2000 libxul.so*
 9548 -rw-------  1 root 1000  9775956  1월  1  2000 omni.ja
    4 -rw-------  1 root 1000       48  1월  1  2000 platform.ini
  264 -rwx------  1 root 1000   269008  1월  1  2000 plugin-container*
  192 -rw-------  1 root 1000   196548  1월  1  2000 precomplete
    4 -rw-------  1 root 1000      707  1월  1  2000 removed-files
   12 -rwx------  1 root 1000     8915  1월  1  2000 run-mozilla.sh*
   16 -rwx------  1 root 1000    12891 11월 14 16:55 start-tor-browser*
    4 -rwx------  1 root 1000     1682  1월  1  2000 start-tor-browser.desktop*
    4 -rw-------  1 root 1000      138  1월  1  2000 update-settings.ini
  124 -rwx------  1 root 1000   124376  1월  1  2000 updater*
    4 -rw-------  1 root 1000      689  1월  1  2000 updater.ini
    4 drwx------  2 root 1000     4096 11월 14 16:14 webapprt/
  148 -rwx------  1 root 1000   150144  1월  1  2000 webapprt-stub*
root@kali:~/tor-browser_en-US/Browser#

이제 명령행에서 start-tor-browser 스크립트를 다시 실행시켜 보자.

root@kali:~/tor-browser_en-US/Browser# ./start-tor-browser

tor browser start

위와 같이 토르브라우저가 정상적으로 실행되었다. 이제 어디서나 Tor Browser를 실행할 수 있도록 해야 한다. 다음과 같은 한줄을 /root/.bashrc 파일의 마지막에 추가한다.

alias start-tor-browser='/root/tor-browser_en-US/Browser/start-tor-browser'
root@kali:~# source .bashrc
root@kali:~# start-tor-browser &
[2] 9881

이제 어느 위치에서나 start-tor-browser 명령어를 입력하면 토르 브라우저를 실행할 수 있다.

tor browser connected to www.iplocation.net
[ www.iplocation.net에 접속한 Tor Browser ]

위의 그림에서는 Tor Browser로 https://www.iplocation.net/에 접속하였다. 이 누리집은 접속자의 IP 주소를 보여준다. 현재 Tor Browser는 173.254.216.66에서 접속하였으며 이 IP주소는 미국 캘리포니아의 LA에 위치한다는 정보를 파악할 수 있다. 이제 내가 접속하는 홈페이지들은 나를 미국에서 접속한 것으로 알게 될 것이다.

tor circuit - three relay servers
[ Tor Browser에서 이용한 Tor Circuit ]

위의 예를 살펴보면 Tor Browser는 3개의 Onion Router(체코, 독일, 루마니아)를 거쳐서 최종 목적지에 도달하는 것을 볼 수 있다. 접속한 웹 서버는 이 토르 브라우저를 루마니아에서 접속한 것으로 기록할 것이다.

대상 회사/기관 내부에서 수행하는 웹취약점 분석에서는 토르브라우저를 이용하여 외부에서 접속했을 때와 일반 브라우저를 이용하여 내부에서 접속했을 때의 접근권한의 차이를 파악할 수 있다.

[처음 작성한 날: 2016.11.14]    [마지막으로 고친 날: 2016.11.14] 


< 이전 글 : 버추얼박스 가상머신에서 Tails OS 설치 (2016.11.14)

> 다음 글 : 인터넷익명성 - VPN과 Tor (2016.11.14)


크리에이티브 커먼즈 라이선스 이 저작물은 크리에이티브 커먼즈 저작자표시 4.0 국제 라이선스에 따라 이용할 수 있습니다.
잘못된 내용, 오탈자 및 기타 문의사항은 j1n5uk{at}daum.net으로 연락주시기 바랍니다.
문서의 시작으로 컴퓨터 깨알지식 웹핵 누리집 대문
 __
( 관리자가 진정해야 하는 일은  )
( 사람들에게 일을 시키는 것이 아니라  )
( 그들이 일에 전념할 수 있는 환경을  )
( 만들어 주는 것이다.  )
(  )
( - 탐디마르코, 피플웨어  )
 --
   o
    o        .
     .---.  //
    Y|o o|Y// 
   /_(i=i)K/ 
   ~()~*~()~  
    (_)-(_)   

     Darth 
     Vader    
     koala        
.. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ...... ... ... ] .. [ .../ ..../ ......./ .. ./// ../ ... .. ... .. -- -- | - .. .... | ... / .. .../ ... {] . .. .. .. ..| ...... .../ .../ .. ./// ../ ... .. ... ...| ..../ ./ ... / ..| ....| ........ / ... / .... ...... ... ... ] .. [ .../ ..../ ......./ .....| ..../ ./ ... / ..| ....| ........ / ... / .... ...| ..../ ./ ... / ..| ....| ........ / ... / .... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .