0

I am using Kali Linux, and have installed tor service via apt-get. After executing sudo systemctl start tor, but https://check.torproject.org/ says I am not using tor. Here is some information I found when i tried to debug this issue:

  • the status of tor is: active (exited)
  • the log of tor@default is:
    Feb 10 19:45:31 kali Tor[625324]: We compiled with OpenSSL 30000070: OpenSSL 3.0.7 1 Nov 2022 and we are running with OpenSSL 30000070: 3.0.7. These two versions should be binary>
    Feb 10 19:45:31 kali Tor[625324]: Tor 0.4.7.11 running on Linux with Libevent 2.1.12-stable, OpenSSL 3.0.7, Zlib 1.2.11, Liblzma 5.2.7, Libzstd 1.5.2 and Glibc 2.36 as libc.
    Feb 10 19:45:31 kali Tor[625324]: Tor can't help you if you use it wrong! Learn how to be safe at https://support.torproject.org/faq/staying-anonymous/
    Feb 10 19:45:31 kali Tor[625324]: Read configuration file "/usr/share/tor/tor-service-defaults-torrc".
    Feb 10 19:45:31 kali Tor[625324]: Read configuration file "/etc/tor/torrc".
    Feb 10 19:45:31 kali Tor[625324]: Opening Socks listener on 127.0.0.1:9050
    Feb 10 19:45:31 kali Tor[625324]: Opened Socks listener connection (ready) on 127.0.0.1:9050
    Feb 10 19:45:31 kali Tor[625324]: Parsing GEOIP IPv4 file /usr/share/tor/geoip.
    Feb 10 19:45:31 kali Tor[625324]: Parsing GEOIP IPv6 file /usr/share/tor/geoip6.
    Feb 10 19:45:31 kali Tor[625324]: Unhandled OpenSSL errors found at ../src/lib/tls/tortls.c:190:
    Feb 10 19:45:31 kali Tor[625324]: TLS error: (null) (in system library:(null):---)
    Feb 10 19:45:31 kali Tor[625324]: TLS error: system lib (in BIO routines:(null):---)
    Feb 10 19:45:31 kali Tor[625324]: TLS error: provider section error (in common libcrypto routines:(null):---)
    Feb 10 19:45:31 kali Tor[625324]: TLS error: module initialization error (in configuration file routines:(null):---)
    Feb 10 19:45:31 kali Tor[625324]: Bootstrapped 0% (starting): Starting
    Feb 10 19:45:32 kali Tor[625324]: Starting with guard context "default"
    Feb 10 19:45:32 kali Tor[625324]: Signaled readiness to systemd
    Feb 10 19:45:32 kali systemd[1]: Started Anonymizing overlay network for TCP.
    Feb 10 19:45:33 kali Tor[625324]: Bootstrapped 5% (conn): Connecting to a relay
    Feb 10 19:45:33 kali Tor[625324]: Opening Socks listener on /run/tor/socks
    Feb 10 19:45:33 kali Tor[625324]: Opened Socks listener connection (ready) on /run/tor/socks
    Feb 10 19:45:33 kali Tor[625324]: Opening Control listener on /run/tor/control
    Feb 10 19:45:33 kali Tor[625324]: Opened Control listener connection (ready) on /run/tor/control
    Feb 10 19:45:33 kali Tor[625324]: Bootstrapped 10% (conn_done): Connected to a relay
    Feb 10 19:45:33 kali Tor[625324]: Bootstrapped 14% (handshake): Handshaking with a relay
    Feb 10 19:45:34 kali Tor[625324]: Bootstrapped 15% (handshake_done): Handshake with a relay done
    Feb 10 19:45:34 kali Tor[625324]: Bootstrapped 75% (enough_dirinfo): Loaded enough directory info to build circuits
    Feb 10 19:45:34 kali Tor[625324]: Bootstrapped 90% (ap_handshake_done): Handshake finished with a relay to build circuits
    Feb 10 19:45:34 kali Tor[625324]: Bootstrapped 95% (circuit_create): Establishing a Tor circuit
    Feb 10 19:45:36 kali Tor[625324]: Bootstrapped 100% (done): Done
    

I am not sure why I have an issue with TLS. Here is my configuration file (proxychains4.conf):

# proxychains.conf  VER 4.x
#
#        HTTP, SOCKS4a, SOCKS5 tunneling proxifier with DNS.


# The option below identifies how the ProxyList is treated.
# only one option should be uncommented at time,
# otherwise the last appearing option will be accepted
#
dynamic_chain
#
# Dynamic - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped)
# otherwise EINTR is returned to the app
#
#strict_chain
#
# Strict - Each connection will be done via chained proxies
# all proxies chained in the order as they appear in the list
# all proxies must be online to play in chain
# otherwise EINTR is returned to the app
#
#round_robin_chain
#
# Round Robin - Each connection will be done via chained proxies
# of chain_len length
# all proxies chained in the order as they appear in the list
# at least one proxy must be online to play in chain
# (dead proxies are skipped).
# the start of the current proxy chain is the proxy after the last
# proxy in the previously invoked proxy chain.
# if the end of the proxy chain is reached while looking for proxies
# start at the beginning again.
# otherwise EINTR is returned to the app
# These semantics are not guaranteed in a multithreaded environment.
#
#random_chain
#
# Random - Each connection will be done via random proxy
# (or proxy chain, see  chain_len) from the list.
# this option is good to test your IDS :)

# Make sense only if random_chain or round_robin_chain
#chain_len = 2

# Quiet mode (no output from library)
#quiet_mode

## Proxy DNS requests - no leak for DNS data
# (disable all of the 3 items below to not proxy your DNS requests)

# method 1. this uses the proxychains4 style method to do remote dns:
# a thread is spawned that serves DNS requests and hands down an ip
# assigned from an internal list (via remote_dns_subnet).
# this is the easiest (setup-wise) and fastest method, however on
# systems with buggy libcs and very complex software like webbrowsers
# this might not work and/or cause crashes.
proxy_dns

# method 2. use the old proxyresolv script to proxy DNS requests
# in proxychains 3.1 style. requires `proxyresolv` in $PATH
# plus a dynamically linked `dig` binary.
# this is a lot slower than `proxy_dns`, doesn't support .onion URLs,
# but might be more compatible with complex software like webbrowsers.
#proxy_dns_old

# method 3. use proxychains4-daemon process to serve remote DNS requests.
# this is similar to the threaded `proxy_dns` method, however it requires
# that proxychains4-daemon is already running on the specified address.
# on the plus side it doesn't do malloc/threads so it should be quite
# compatible with complex, async-unsafe software.
# note that if you don't start proxychains4-daemon before using this,
# the process will simply hang.
#proxy_dns_daemon 127.0.0.1:1053

# set the class A subnet number to use for the internal remote DNS mapping
# we use the reserved 224.x.x.x range by default,
# if the proxified app does a DNS request, we will return an IP from that range.
# on further accesses to this ip we will send the saved DNS name to the proxy.
# in case some control-freak app checks the returned ip, and denies to 
# connect, you can use another subnet, e.g. 10.x.x.x or 127.x.x.x.
# of course you should make sure that the proxified app does not need
# *real* access to this subnet. 
# i.e. dont use the same subnet then in the localnet section
#remote_dns_subnet 127 
#remote_dns_subnet 10
remote_dns_subnet 224

# Some timeouts in milliseconds
tcp_read_time_out 15000
tcp_connect_time_out 8000

### Examples for localnet exclusion
## localnet ranges will *not* use a proxy to connect.
## note that localnet works only when plain IP addresses are passed to the app,
## the hostname resolves via /etc/hosts, or proxy_dns is disabled or proxy_dns_old used.

## Exclude connections to 192.168.1.0/24 with port 80
# localnet 192.168.1.0:80/255.255.255.0

## Exclude connections to 192.168.100.0/24
# localnet 192.168.100.0/255.255.255.0

## Exclude connections to ANYwhere with port 80
# localnet 0.0.0.0:80/0.0.0.0
# localnet [::]:80/0

## RFC6890 Loopback address range
## if you enable this, you have to make sure remote_dns_subnet is not 127
## you'll need to enable it if you want to use an application that 
## connects to localhost.
# localnet 127.0.0.0/255.0.0.0
# localnet ::1/128

## RFC1918 Private Address Ranges
# localnet 10.0.0.0/255.0.0.0
# localnet 172.16.0.0/255.240.0.0
# localnet 192.168.0.0/255.255.0.0

### Examples for dnat
## Trying to proxy connections to destinations which are dnatted,
## will result in proxying connections to the new given destinations.
## Whenever I connect to 1.1.1.1 on port 1234 actually connect to 1.1.1.2 on port 443
# dnat 1.1.1.1:1234  1.1.1.2:443

## Whenever I connect to 1.1.1.1 on port 443 actually connect to 1.1.1.2 on port 443
## (no need to write :443 again)
# dnat 1.1.1.2:443  1.1.1.2

## No matter what port I connect to on 1.1.1.1 port actually connect to 1.1.1.2 on port 443
# dnat 1.1.1.1  1.1.1.2:443

## Always, instead of connecting to 1.1.1.1, connect to 1.1.1.2
# dnat 1.1.1.1  1.1.1.2

# ProxyList format
#       type  ip  port [user pass]
#       (values separated by 'tab' or 'blank')
#
#       only numeric ipv4 addresses are valid
#
#
#        Examples:
#
#               socks5  192.168.67.78   1080    lamer   secret
#               http    192.168.89.3    8080    justu   hidden
#               socks4  192.168.1.49    1080
#               http    192.168.39.93   8080    
#               
#
#       proxy types: http, socks4, socks5, raw
#         * raw: The traffic is simply forwarded to the proxy without modification.
#        ( auth types supported: "basic"-http  "user/pass"-socks )
#
[ProxyList]
# add proxy here ...
# meanwile
# defaults set to "tor"
socks4 127.0.0.1 9050
socks5 127.0.0.1 9050 

2 Answers 2

0

First of all - you have an OpenSSL issue, the TLS Error's - that must be fixed first hand. It's occurring when you're compiling Tor by hand and later the system package manager updates the old one and overwrites the custom one you used. Solution for that is usin a separate install prefix for your Tor's OpenSSL and linking it statically. Actually - the more libraries you'll attach statically - the better optimization you'll achieve on the last linking stage during the LTO phase. Second - try using Tor's SOCKS5s proxy in a browser's settings as a default and only way to connect to the internet, I'm using Firefox with FoxyProxy, works like a charm if you need a mixed config too. Proxychains is obsolete now for torifying applications: either use a separate Docker container or VM for full insulation, or just point a browser to the SOCKS5s proxy of Tor. If you need further assistance after fixing the problems I've mentioned - just drop me a line!

-1

The Tor service is not the Tor Browser. The Tor service "tor" is used for creating onion services, relays, and a socks5 proxy.

In the output that you gave, the service seems to be working perfectly:

Bootstrapped 100% (done): Done

The Tor Browser is what you want if you want to access the Tor network with a browser. Download the browser: here.

1
  • as it is said in a question: the browser is proxified, and Tor browser is not the only one
    – Alexey Vesnin
    Commented Feb 21, 2023 at 16:08

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .