KasperskyLab / TinyCheck

TinyCheck allows you to easily capture network communications from a smartphone or any device which can be associated to a Wi-Fi access point in order to quickly analyze them. This can be used to check if any suspect or malicious communication is outgoing from a smartphone, by using heuristics or specific Indicators of Compromise (IoCs). In order to make it working, you need a computer with a Debian-like operating system and two Wi-Fi interfaces. The best choice is to use a Raspberry Pi (2+) a Wi-Fi dongle and a small touch screen. This tiny configuration (for less than $50) allows you to tap any Wi-Fi device, anywhere.
Apache License 2.0
3.08k stars 222 forks source link

Raspberry alternative "Debian" TinyCheck install not working (Network issue: "You must select two interfaces, exiting") #103

Open Pitmit opened 2 years ago

Pitmit commented 2 years ago

We tried different debian OEMs. Kali Ubuntu anything even in Vm and on Hardware. The OS always seems to accept the 2 network interfaces. However during installation tinycheck doesnt select a 2nd interface and the red message (exciting) appears

We tried any possible hwardware VM situation we were capable of. command failed : No such device (-19) iw list doesnt show 2 interfaces but ifconfig -a shows them perfectly.

Pitmit commented 2 years ago

image

fixpc82 commented 2 years ago

Is possible install on Ubuntu 18?

mrludo001 commented 2 years ago

The install script is expecting to find a wifi interface with a name that matches the grep regex of the form (wlan[0-9]|wl[a-z0-9]{2,20}) with a supported interface mode of AP that is not currently connected. The test for this is simply looking for the characters " AP" at the end of a line in the output of the command iw wlan0 info . The test for being not currently connected is for there to be no word "inet " in the output of the ifconfig command.

Can you share the output of the commands iw wlan0 info and ifconfig wlan0 please ? Please replace wlan0 with the actual name of your wifi interface. Note that if your wifi interface's name does not match the grep regex mentioned above then the script will not think there is a suitable interface available.

If you can show the output as requested I can try to figure out why it is not working for you.

Alternatively you could try hacking the install.sh script replacing lines 396-417 with hard setting of the shell variables IFACE_IN and IFACE_OUT to what you want them to be but obviously this might not be all you need to change.

IFACE_IN is the wifi interface that will be expected to be running in AP mode.

chbmeyer commented 1 year ago

Hello @mrludo001 and all others,

I'm bitten by this problem too. When you select "No", then all three devices (eth, wlan0, wlan1) are shown and asked, and when you select "Yes", the device is not found and the error stops installation. I'm running a freshly installed "Raspbian GNU/Linux 11 (bullseye)" (Raspberry Pi reference 2023-05-03) on a "Raspberry Pi 2 Model B Rev 1.1" and git clone'd TinyCheck.

I ran the two mentioned commands and got these answers:

# iw wlan0 info
command failed: No such device (-19)
# ifconfig wlan0
wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        [...]

So it seems that iw doesn't find wlan0 while it is known by ifconfig. There also is this message in the output of iw: Do NOT screenscrape this tool, we don't consider its output stable.

So I tried to find out more and saw one known wifi device for iw and two for ifconfig:

# iw dev
phy#0
    Interface wlan1
        [...]
# ifconfig
eth0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        [...]

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        [...]

wlan0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        [...]

wlan1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        [...]

Because of this I tried to add some drivers with http://downloads.fars-robotics.net/wifi-drivers/install-wifi, but I hadn't luck with that.

Then I ended in commenting all lines 395-417 and defining IFACE_IN and IFACE_OUT manually instead:

IFACE_IN=wlan0
IFACE_OUT=wlan1

Sadly there are other problems (can not create an AP-network while running TinyCheck), but I thought, you should know about the commands mentioned above.

Christian