Cara hosting Di Tor Dengan Localhost

Penyebutan web dalam dapat mengingatkan Anda pada gambar obat-obatan, peretas, dan aktivitas kriminal lainnya. Terlepas dari keberadaan elemen-elemen ini, jaringan Tor adalah alat yang berharga untuk menjaga privasi dan anonimitas. Dan menjelajahi web dalam dan Hidden Service apa pun bisa semudah mengunduh Tor Browser.

Jadi, apa itu Hidden Service? Ini hampir sama dengan situs web di internet biasa, hanya saja ia menggunakan teknologi Tor untuk tetap aman. Dalam beberapa kasus, seseorang yang membuat Hidden Service, juga dikenal sebagai onion service, dapat tetap anonim. Siapa pun dapat membuat Hidden Service dan membuatnya dapat diakses melalui alamat onion khusus, seperti tutorial berikut.

  • Langkah 1 : Pahami Cara Kerja Jaringan Tor


Mengakses internet secara langsung tanpa proxy, VPN, atau layanan privasi lainnya menyampaikan informasi secara relatif linier. Perangkat yang terhubung ke internet melalui router mengikuti serangkaian permintaan pencarian untuk URL atau alamat IP tertentu dan mengembalikan konten ke perangkat yang meminta informasi tersebut.

Isi transmisi dapat dienkripsi menggunakan HTTPS, SSL, atau bentuk enkripsi lainnya. Namun, permintaan tersebut tetap terhubung langsung ke alamat IP di setiap akhir transaksi dan dilakukan dengan cara yang dapat dianalisis oleh penyedia layanan internet. Singkatnya, ISP Anda dapat melihat ke mana Anda pergi di web.



Visualisasi lalu lintas standar yang disederhanakan.

Meskipun jaringan Tor tidak sepenuhnya melewati penyedia layanan internet seperti yang bisa dilakukan oleh jaring mesh, jaringan Tor menggunakan metode unik untuk mengaburkan lalu lintas. Daripada langsung meminta halaman web atau data lain dengan secara langsung mengalamatkan server dengan IP-nya, lalu lintas yang dirutekan melalui Tor mengirimkan detail terenkripsi dari permintaannya ke simpul masuk dari daftar simpul yang diambil dalam jaringan Tor terlebih dahulu.

Lalu lintas itu kemudian dibawa melalui beberapa lompatan lagi ke node yang berbeda di jaringan Tor, sebelum mencapai tujuannya di dalam jaringan Tor atau dikirim kembali ke internet melalui simpul keluar.



Visualisasi perutean gaya Tor.


Sayangnya, masuk kembali ke internet dari jaringan Tor ini menimbulkan risiko keamanan dan privasi. Konten yang melewati node keluar tunduk pada kepercayaan dari node itu sendiri, karena node tersebut memiliki tingkat akses yang sama ke detail permintaan seperti yang dilakukan oleh ISP. Jika data tidak dienkripsi pada saat ini, data dapat ditangkap dan digunakan secara jahat, seperti yang ditunjukkan oleh Chloe di BADONIONS.

Untuk menghindari bahaya menggunakan node keluar, sebagai gantinya kita dapat mengakses atau menghosting situs web yang hanya dapat diakses dan seluruhnya melalui jaringan Tor, dalam bentuk Hidden Service. Daripada meminta URL atau alamat IP, layanan hanya akan dapat diakses melalui alamat "onion", yang hanya dapat ditemukan dengan namanya di dalam jaringan Tor.


  • Langkah 2 : Instal Tor Browser

Tor Browser tersedia dari situs web Tor Project untuk sistem Windows, macOS, dan Linux / Unix. Ini bahkan dapat digunakan pada perangkat Android, tetapi kami akan fokus pada versi komputer. Cukup unduh dan instal versi yang tepat untuk Anda. Jika menggunakan Linux, seperti Kali, Anda dapat menginstal Tor dengan lebih mudah dari terminal menggunakan apt:
~$ sudo apt install torbrowser-launcher

[sudo] password for kali:
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following additional packages will be installed:
  tor tor-geoipdb torsocks
Suggested packages:
  mixmaster tor-arm apparmor-utils obfs4proxy
The following NEW packages will be installed:
  tor tor-geoipdb torbrowser-launcher torsocks
0 upgraded, 4 newly installed, 0 to remove and 568 not upgraded.
Need to get 3,566 kB of archives.
After this operation, 14.8 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://kali.download/kali kali-rolling/main amd64 tor amd64 0.4.3.5-1 [1,943 kB]
Get:2 http://kali.download/kali kali-rolling/main amd64 tor-geoipdb all 0.4.3.5-1 [1,486 kB]
Get:3 http://kali.download/kali kali-rolling/contrib amd64 torbrowser-launcher amd64 0.3.2-11 [61.1 kB]
Get:4 http://kali.download/kali kali-rolling/main amd64 torsocks amd64 2.3.0-2+b1 [76.3 kB]
Fetched 3,566 kB in 1s (3,181 kB/s)
Selecting previously unselected package tor.
(Reading database ... 376773 files and directories currently installed.)
Preparing to unpack .../tor_0.4.3.5-1_amd64.deb ...
Unpacking tor (0.4.3.5-1) ...
Selecting previously unselected package tor-geoipdb.
Preparing to unpack .../tor-geoipdb_0.4.3.5-1_all.deb ...
Unpacking tor-geoipdb (0.4.3.5-1) ...
Selecting previously unselected package torbrowser-launcher.
Preparing to unpack .../torbrowser-launcher_0.3.2-11_amd64.deb ...
Unpacking torbrowser-launcher (0.3.2-11) ...
Selecting previously unselected package torsocks.
Preparing to unpack .../torsocks_2.3.0-2+b1_amd64.deb ...
Unpacking torsocks (2.3.0-2+b1) ...
Setting up torbrowser-launcher (0.3.2-11) ...
Setting up tor (0.4.3.5-1) ...
Something or somebody made /var/lib/tor disappear.
Creating one for you again.
Something or somebody made /var/log/tor disappear.
Creating one for you again.
update-rc.d: We have no instructions for the tor init script.
update-rc.d: It looks like a network service, we disable it.
Setting up torsocks (2.3.0-2+b1) ...
Setting up tor-geoipdb (0.4.3.5-1) ...
Processing triggers for desktop-file-utils (0.24-1) ...
Processing triggers for mime-support (3.64) ...
Processing triggers for gnome-menus (3.36.0-1) ...
Processing triggers for systemd (245.4-3) ...
Processing triggers for man-db (2.9.1-1) ...
Processing triggers for kali-menu (2020.2.2) ...


  • LANGKAH 3 : Buka Tor Browser


Setelah Tor terinstal, Anda dapat membuka "Tor Browser" dari aplikasi Anda, dan Tor akan secara otomatis terhubung ke jaringan Tor. Saat pertama kali dijalankan, Anda mungkin diminta untuk "Connect" ke Tor atau "Configure". Pilih yang pertama kecuali Anda menggunakan proxy atau berada di wilayah yang melarang Tor.



Kita dapat melihat rute kita melalui jaringan Tor dengan mengklik nama situs di bilah URL tempat tombol (i) berada. Pada versi yang lebih lama, Anda dapat mengklik panah drop-down di sebelah ikon onion di kiri atas jendela. Dalam kasus mengunjungi situs .onion, kami hanya dapat melihat relai terakhir dan "situs Onion" yang tercantum dalam informasi sirkuit.



  • LANGKAH 4 : Host Server


Langkah pertama dalam mengonfigurasi server Tor adalah menyiapkan cara untuk menyajikan konten HTTP, sama seperti server web biasa. Meskipun kami mungkin memilih untuk menjalankan server web konvensional pada 0.0.0.0 sehingga dapat diakses ke internet secara keseluruhan oleh IP-nya, kami dapat mengikat lingkungan server lokal kami ke 127.0.0.1 untuk memastikan bahwa itu hanya akan tersedia secara lokal dan melalui Tor.

Pada sistem di mana kita dapat memanggil modul Python secara langsung, kita mungkin memilih untuk menggunakan modul http.server. Pertama, kita harus berada di direktori yang berisi konten yang ingin kita hosting. Jika Anda hanya ingin mengujinya dengan nilai minimum, buat direktori baru, dan ubah ke dalamnya.

~$ mkdir tor_service
~$ cd tor_service
~/tor_service$

Sekarang, kita dapat menjalankan server langsung dari baris perintah. Menggunakan Python 3 dan http.server, kita dapat menggunakan string berikut untuk mengikat ke 127.0.0.1 dan meluncurkan server pada port 8080.


~/tor_service$ python3 -m http.server --bind 127.0.0.1 8080

Serving HTTP on 127.0.0.1 port 8080 (http://127.0.0.1:8080/) ...

Salah satu dari ini akan berfungsi cukup untuk server pengujian, tetapi untuk proyek yang lebih besar atau lebih permanen, tumpukan hosting lengkap akan lebih berguna. Nginx menyediakan backend server yang dapat diperkuat dan diamankan dengan lebih sesuai dari potensi ancaman terhadap Hidden Service, meskipun Apache atau perangkat lunak server HTTP lainnya pasti dapat berfungsi. Cukup pastikan bahwa itu terikat pada 127.0.0.1 untuk mencegah penemuan melalui layanan seperti Shodan.

Jika Anda memiliki pemindai jaringan Fing, Anda dapat mengonfirmasi bahwa ini berfungsi dengan menjalankan berikut ini di jendela terminal baru.

~$ fing -s 127.0.0.1 -o text,console
Anda akan melihat output seperti gambar di bawah ini jika server Anda berjalan. Dan seperti itu, pemindaian Fing menunjukkan server kami.


Serving HTTP on 127.0.0.1 port 8080 (http://127.0.0.1:8080/) ...

04:19:03 > Service scan on: 127.0.0.1

04:19:03 > Service scanning started.
04:19:09 > Detected service:  5432 (postgresql)
04:19:09 > Detected service:  8080 (http-proxy)
04:19:11 > Service scan completed in 7.720 seconds.

-------------------------------------------------------------------------
| Scan result for localhost (127.0.0.1)                                 |
|-----------------------------------------------------------------------|
|  Port | Service         | Description                                 |
|-----------------------------------------------------------------------|
|  5432 | postgresql      | PostgreSQL database server                  |
|  8080 | http-proxy      | Common HTTP proxy/second web server port    |
-------------------------------------------------------------------------
Untuk memastikan bahwa server kami berfungsi, kami akan menguji alamat lokal kami (127.0.0.1) atau "localhost" di browser web dengan membukanya sebagai alamat diikuti dengan nomor port, seperti yang terlihat di bawah ini.

  • http: // localhost: 8080
Untuk membuat pengujian server lebih mudah, mungkin berguna untuk membuat file "index.html" di direktori tempat server dijalankan. Di terminal baru, di direktori Tor Anda, buat file.
~/tor_service$ touch index.hmtl
Selanjutnya, gunakan nano atau editor teks lain untuk menambahkan beberapa HTML ke file.
~/tor_service$ nano index.html
Sesuatu yang sederhana seperti ini akan berhasil:
<html>
<body>
Zxce3
</body>
</html>
Keluar dengan Control-X, ketik Y, lalu Enter untuk menyimpan file di nano. Hasilnya akan terlihat seperti gambar berikut jika berfungsi dengan baik.



Dengan lingkungan server lokal kita dikonfigurasi dan tersedia di 127.0.0.1:8080, sekarang kita dapat mulai menghubungkan server kita ke jaringan Tor.

LANGKAH 5
Buat Hidden Service
Pertama, kita perlu menginstal atau mengkonfirmasi bahwa layanan / daemon Tor telah diinstal. Layanan Tor mandiri adalah bagian aktif terpisah dari paket Tor Browser. Untuk Linux / Unix, tersedia di sini. Pada distro berbasis Ubuntu atau Debian dengan manajemen paket yang tepat, perintah berikut akan berfungsi dengan asumsi Tor ada di repositori distro.
~/tor_service$ sudo apt install tor

[sudo] password for kali:
Reading package lists... Done
Building dependency tree
Reading state information... Done
tor is already the newest version (0.4.3.5-1).
tor set to manually installed.
0 upgraded, 0 newly installed, 0 to remove and 568 not upgraded.
Untuk mengkonfirmasi lokasi instalasi dan konfigurasi Tor kita, kita dapat menggunakan perintah whereis.
~/tor_service$ whereis tor

tor: /usr/bin/tor /usr/sbin/tor /etc/tor /usr/share/tor /usr/share/man/man1/tor.1.gz
Ini akan menunjukkan kepada kita beberapa direktori yang digunakan Tor untuk konfigurasi. Kami mencari file "torrc" kami, yang kemungkinan besar ada di / etc / tor. Kita bisa pindah ke direktori itu dengan cd, saat kita menjalankan perintah di bawah ini.
~/tor_service$ cd /etc/tor/
~/etc/tor$
Terakhir, konfirmasikan bahwa "torrc" ada hanya dengan menjalankan ls.

~/etc/tor$ ls

torrc  torsocks.conf

Jika file torrc ada, kami ingin mengeditnya. Kita dapat menggunakan Vim, emacs, atau GNU nano untuk mengedit file. Untuk mengedit file di nano, cukup jalankan perintah berikut di terminal. Jika Anda root, Anda dapat melewati sudo.
~/etc/tor$ sudo nano torrc
Dalam file tersebut, kami mencari bagian yang disorot di bawah ini. Untuk menemukannya dengan cepat, gunakan Control-W untuk mencari "lokasi-tersembunyi", tekan Enter, dan Anda harus langsung ke sana.

############### This section is just for location-hidden services ###

## Once you have configured a hidden service, you can look at the
## contents of the file ".../hidden_service/hostname" for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.

#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

Untuk melakukan ini, kami cukup menghapus simbol "#" di awal dua baris tersebut. 

#HiddenServiceDir /var/lib/tor/hidden_service/
#HiddenServicePort 80 127.0.0.1:80

Sementara kita di sini, kita perlu memperbaiki port tempat Tor mencari server kita. Jika kita menggunakan port 8080, kita ingin mengoreksi baris dari port 80 ke port 8080 untuk baris "#HiddenServicePort".

############### This section is just for location-hidden services ###

## Once you have configured a hidden service, you can look at the
## contents of the file ".../hidden_service/hostname" for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

Tulis perubahan dengan Control-X, ketik Y, lalu Enter untuk keluar.

  • LANGKAH 6 : Uji Layanan Tor

Dengan perubahan yang ditulis ke file torrc kami dan server berjalan pada 127.0.0.1:8080, membuat server kami dapat diakses melalui Tor semudah memulai layanan Tor. Kita dapat melakukan ini dari baris perintah dengan mengetik berikut ini.

~/etc/tor$ sudo tor

Aug 21 19:20:44.992 [notice] Tor 0.4.3.5 running on Linux with Libevent 2.1.11-stable, OpenSSL 1.1.1g, Zlib 1.2.11, Liblzma 5.2.4, and Libzstd 1.4.4.
Aug 21 19:20:44.992 [notice] Tor can't help you if you use it wrong! Learn how to be safe at https://www.torproject.org/download/download#warning
Aug 21 19:20:44.992 [notice] Read configuration file "/etc/tor/torrc".
Aug 21 19:20:44.994 [notice] Opening Socks listener on 127.0.0.1:9050
Aug 21 19:20:44.994 [notice] Opened Socks listener on 127.0.0.1:9050
Aug 21 19:20:44.000 [notice] Parsing GEOIP IPv4 file /usr/share/tor/geoip.
Aug 21 19:20:45.000 [notice] Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
Aug 21 19:20:45.000 [warn] You are running Tor as root. You don't need to, and you probably shouldn't.
Aug 21 19:20:45.000 [notice] Bootstrapped 0% (starting): Starting
Aug 21 19:20:45.000 [notice] Starting with guard context "default"
Aug 21 19:20:46.000 [notice] Bootstrapped 5% (conn): Connecting to a relay
Aug 21 19:20:46.000 [notice] Bootstrapped 10% (conn_done): Connected to a relay
Aug 21 19:20:46.000 [notice] Bootstrapped 14% (handshake): Handshaking with a relay
Aug 21 19:20:46.000 [notice] Bootstrapped 15% (handshake_done): Handshake with a relay done
Aug 21 19:20:46.000 [notice] Bootstrapped 20% (onehop_create): Establishing an encrypted directory connection
Aug 21 19:20:46.000 [notice] Bootstrapped 25% (requesting_status): Asking for networkstatus consensus
Aug 21 19:20:46.000 [notice] Bootstrapped 30% (loading_status): Loading networkstatus consensus
Aug 21 19:20:47.000 [notice] I learned some more directory information, but not enough to build a circuit: We have no usable consensus.
Aug 21 19:20:47.000 [notice] Bootstrapped 40% (loading_keys): Loading authority key certs
Aug 21 19:20:47.000 [notice] The current consensus has no exit nodes. Tor can only build internal paths, such as paths to onion services.
Aug 21 19:20:47.000 [notice] Bootstrapped 45% (requesting_descriptors): Asking for relay descriptors
Aug 21 19:20:47.000 [notice] I learned some more directory information, but not enough to build a circuit: We need more microdescriptors: we have 0/6477, and can only build 0% of likely paths. (We have 0% of guards bw, 0% of midpoint bw, and 0% of end bw (no exits in consensus, using mid) = 0% of path bw.)
Aug 21 19:20:47.000 [notice] Bootstrapped 50% (loading_descriptors): Loading relay descriptors
Aug 21 19:20:48.000 [notice] The current consensus contains exit nodes. Tor can build exit and internal paths.
Aug 21 19:20:49.000 [notice] Bootstrapped 56% (loading_descriptors): Loading relay descriptors
Aug 21 19:20:50.000 [notice] Bootstrapped 62% (loading_descriptors): Loading relay descriptors
Aug 21 19:20:50.000 [notice] Bootstrapped 67% (loading_descriptors): Loading relay descriptors
Aug 21 19:20:50.000 [notice] Bootstrapped 75% (enough_dirinfo): Loaded enough directory info to build circuits
Aug 21 19:20:50.000 [notice] Bootstrapped 80% (ap_conn): Connecting to a relay to build circuits
Aug 21 19:20:50.000 [notice] Bootstrapped 85% (ap_conn_done): Connected to a relay to build circuits
Aug 21 19:20:50.000 [notice] Bootstrapped 89% (ap_handshake): Finishing handshake with a relay to build circuits
Aug 21 19:20:50.000 [notice] Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits
Aug 21 19:20:50.000 [notice] Bootstrapped 95% (circuit_create): Establishing a Tor circuit
Aug 21 19:20:50.000 [notice] Bootstrapped 100% (done): Done############### This section is just for location-hidden services ###

## Once you have configured a hidden service, you can look at the
## contents of the file ".../hidden_service/hostname" for the address
## to tell people.
##
## HiddenServicePort x y:z says to redirect requests on port x to the
## address y:z.

HiddenServiceDir /var/lib/tor/hidden_service/
HiddenServicePort 80 127.0.0.1:8080

#HiddenServiceDir /var/lib/tor/other_hidden_service/
#HiddenServicePort 80 127.0.0.1:80
#HiddenServicePort 22 127.0.0.1:22

Saat memulai Tor untuk pertama kalinya dengan konfigurasi baru kami, alamat .onion akan dibuat secara otomatis. Informasi ini akan disimpan di "/ var / lib / tor / hidden_service" (atau direktori lain jika ditentukan dalam file torrc). Pertama, di direktori baru, jika Anda bukan pengguna root, dapatkan izin root.
~$ sudo cd /var/lib/tor/hidden_service
[sudo] password for kali:
root@kali:/home/kali# kali
Kemudian, kita bisa pindah ke direktori di jendela terminal baru dengan cd.
root@kali:/home/kali# cd /var/lib/tor/hidden_service
root@kali:/var/lib/tor/hidden_service#
Selanjutnya, jalankan ls untuk memastikan bahwa file "hostname" dan "private_key" ada di direktori
root@kali:/var/lib/tor/hidden_service# ls

hostname  private_key
Kemudian, kita dapat melihat alamat yang baru kita buat dengan menjalankan cat.
root@kali:/var/lib/tor/hidden_service# cat hostname

4zkl7lz6w67gp46k4qmqahz4ydjewzihlymwy4vrfn2mnqd.onion
String yang diakhiri dengan .onion adalah alamat Hidden Service kami yang baru! Meskipun yang ini dibuat secara otomatis, kami akan dapat menyesuaikannya nanti dengan preferensi kami.

Kami dapat menguji apakah layanan kami dapat diakses dengan membukanya di Tor Browser. Jika alamat tersebut ditetapkan ke server Anda, Anda telah berhasil meng-host Hidden Service!

Sekian.