網路匿蹤技巧(一)

- 基礎匿蹤技巧

Leukocyte-Lab 資安顧問 - Jason Shen

何謂 網路匿蹤 ?

網路世界中的隱身術

為何學習 網路匿蹤 ?

  • 了解罪犯如何匿蹤
  • 避免被發現正在調查
  • 躲避警方追緝
  • 不留下明顯證據

警方

犯罪方

課程目的 :

  • 了解常見的匿蹤手法

  • 學習構建基本匿蹤手法

講者自介:

網路暱稱 : HrJ

  • 現任 TDOHacker 創辦人、總召

  • 現任 Leukocyte-Lab 資安顧問

  • 曾任 淡江大學 資安&網路服務隊

  • 曾任 VSSecruity 資安顧問

  • 曾任 Athemaster 技術顧問

  • 曾任 DataSpark 技術顧問

  • 曾在成人線上直播網

跳出我好帥的男人

請我去的老師表示:

同學上完課要
實作截圖當報告分數喔! 

課程開始 ! 

常見跳板手法介紹

Proxy List

IP 檢測網站

Proxy Server 匿名性分類

  • Transparent
    • 單純轉送快取資料
    • 匿名性 :
    • IP 屏蔽 :
  • Anonymous
    • 封包標投資訊可能洩漏本地端位址
    • 匿名性 :
    • IP 屏蔽 : 有 (但有機會洩漏)
  • Elite/High Anonymous
    • 有時需要通過認證才能連上
    • 匿名性 :
    • IP 屏蔽 : 有 (不會洩漏真實IP)

常見跳板手法介紹 -

HTTP 代理

常見跳板手法介紹 -

Socks 代理

剛剛操作都是在 Windows 上

現在讓我們換到 Kali Linux 上


cd /etc/apt
cp sources.list ~sources.list
vim sources.list

deb http://http.kali.org/kali kali-rolling main non-free contrib


apt-get update && apt-get upgrade
apt-get install 
network-manager-openvpn 
network-manager-openvpn-gnome 
network-manager-pptp 
network-manager-pptp-gnome 
network-manager-strongswan 
network-manager-vpnc 
network-manager-vpnc-gnome

apt-get update && apt-get upgrade

常見跳板手法介紹 -

SSH Tunneling


遠端主機:
MyServer / Linux / user test / ip 139.162.19.xxx / ssh port 1112


ssh -p 1112 test@139.162.19.xxx

常見 VPN 協議講解

何謂 VPN ?

  • Virtual Private Network
  • 虛擬私人通道
  • 提供高隱私性的連線傳輸

常見 VPN 協議講解 -

PPTP

Point to Point Tunneling Protocol (PPTP)

  • 使用傳輸控制協定(TCP)建立控制通道來傳送控制命令
  • 利用通用路由封裝(GRE)通道來封裝對等協(PPP)封包以傳送資料
  • 加密方式容易被破解
  • TCP 協定,易遭防火牆攔截
  • 只能在兩點之間建立單一隧道
  • IP/URL : 69.60.121.29

  • User : free

  • Password : 2436

常見 VPN 協議講解 -

L2TP

Layer 2 Tunneling Protocol (L2TP)

  • 將PPTP 和 Cisco所發展的Layer 2 Forwarding (L2F)合併的一種協定
  • 提供multi-point tunneling 的功能
  • 走 UDP 協定,較容易穿透防火牆

常見 VPN 協議講解 -

Openvpn

匿名網路 Tor
原理說明與介紹 

// 安裝 tor
apt-get install tor

// 下載所需檔案
wget https://dist.torproject.org/torbrowser/5.5.2/tor-browser-linux64-5.5.2_en-US.tar.xz

//將檔案解壓縮
tar Jxvf tor-broowser-linux64-5.5.2_en-US.tar.xz

// 修改資料夾擁有者
chown root:root tor-browser_en-US

// cd 進解壓縮後的資料夾
cd tor-browser_en-US

// 修改位於 Brower 內的 start-tor-browser
//註解掉 94~97 等四行以便使用 root 身份執行
vim Browser/start-tor-browser

//開始 tor 
./start-tor-browser.desktop


//如果出現錯誤可以嘗試 
chown -R root *
./start-tor-browser.desktop


http://zqktlwi4fecvo6ri.onion/wiki/index.php/Main_Page
//首先我們需要下載 Tor 的開發包
# wget https://www.torproject.org/dist/tor-0.2.6.10.tar.gz

//將開發包解壓縮在家目錄底下
# tar xzvf tor-0.2.6.10.tar.gz

// cd 進解壓縮後的資料夾
# cd tor-0.2.6.10

//安裝需要的套件庫
# apt-get install libssl-dev libevent-dev zlib1g-dev

下載  libevent 二進制開發包
https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
//如果版本改變可查看官網 : http://libevent.org/

 

執行以下指令以編譯與安裝
# ./configure 
# make 
# sudo make install
# ldconfig
//以無編譯選項的方式進行編譯
# cd tor-0.2.6.10
# ./configure
# make

//cd 到 src/or 目錄下,用 ldd 指令查看編譯後鏈接的動態庫
# cd src/or
# ldd tor

linux-vdso.so.1 (0x00007ffe02d00000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fd6982c3000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fd697fc2000)
libevent-2.0.so.5 => /usr/lib/x86_64-linux-gnu/libevent-2.0.so.5 (0x00007fd697d7a000)
libssl.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libssl.so.1.0.0 (0x00007fd697b1a000)
libcrypto.so.1.0.0 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.0.0 (0x00007fd69771f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fd697502000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fd6972fe000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fd696f55000)
/lib64/ld-linux-x86-64.so.2 (0x00007fd6988b7000)
//因為要鏈接很多動態庫會很麻煩,所以這邊我們將用 GCC 指令來改成不需要動態庫鏈接。
//需要 src 下進行
# cd tor-0.2.6.10/src/

# gcc -O2 -static -Wall -fno-strict-aliasing -L/usr/lib/x86_64-linux-gnu/  -o tor /root/tor-0.2.6.10/src/or/tor_main.o /root/tor-0.2.6.10/src/or/libtor.a /root/tor-0.2.6.10/src/common/libor.a /root/tor-0.2.6.10/src/common/libor-crypto.a /root/tor-0.2.6.10/src/common/libcurve25519_donna.a /root/tor-0.2.6.10/src/common/libor-event.a /usr/lib/x86_64-linux-gnu/libz.a -lm /root/libevent-2.0.22-stable/.libs/libevent.a -lrt /usr/lib/x86_64-linux-gnu/libssl.a /usr/lib/x86_64-linux-gnu/libcrypto.a  -lpthread -ldl

如果執行後出現 “沒有此一檔案或目錄“,表示命令中的位址不對,建議使用 “ find / -name 檔案名稱 ” 來搜尋後改上。

 

那些只是警告而非錯誤,不影響正常使用,所以可以忽略。

 


//需要先建立目錄
# mkdir /usr/local/etc/tor/

//開始編寫 torrc 檔(因為 tor 的 config 檔預設檔名為 torrc)
# vim  /usr/local/etc/tor/torrc
//Torrc 黨中的內容格式如下:

Bridge 194.132.209.227:9397 77C69FC7ECFAA77AB4D307F4C7B22D8C5BF6B72F
Bridge 91.215.153.42:400 F45F1A8943D43A99D68AFE1D8E910BF413A62207
Bridge 172.72.232.68:443 DF8EC72614F5A28DA3B42124FE5B6486588A30B4
UseBridges 1
SocksPort 9050
SocksListenAddress 127.0.0.1
HiddenServiceDir ./.hs/
HiddenServicePort 2222 127.0.0.1:22

需注意的是!用 Bridge 標注的部分需要上 https://bridges.torproject.org/ 來取得。
 Tor 執行
# cd tor-0.2.6.10/src/

# ./tor

執行前我們要先找到我們的 hostname ! 在執行 ./tor 後,在 /src 下會出現一個 .hs 資料夾

//查看其中的 hostname 檔就可以看到這環境中的 hostname
# cd .hs
# ls
# cat hostname
//在另一台同樣連接 tor 網路的設備上應該要可以 ssh 的上此台電腦。
//需要能傳送 tor 中的 TCP 封包。
# ssh -p 2222 user@2krd6jqebet6a3qu.onion

//補安裝 Kail 的 ssh server
http://topspeedsnail.com/kali-linux-enable-ssh-server/

匿名網路 I2P
原理說明與介紹 

Invisible Internet Project (I2P)

  • 可同時使用UDP及TCP協議,也支持UPnP映射

匿名作業系統 - Whonix

Made with Slides.com