#10774 @fragile Scenario: MAC address spoofing fails and macchanger returns true # features/mac_spoofing.feature:46 01:45:00.174066206: calling as root: echo 'hello?' 01:45:00.212565084: call returned: [0, "hello?\n", ""] 01:45:00.934961268: calling as root: nmcli device show eth0 01:45:00.943487669: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:45:01.025671471: call returned: [8, "", "Error: NetworkManager is not running.\n"] 01:45:01.033553788: calling as root: date -s '@1552599571' 01:45:01.069331899: call returned: [0, "Thu Mar 14 21:39:31 UTC 2019\n", ""] 01:45:01.096049797: calling as root: mv /usr/bin/macchanger /usr/bin/macchanger.orig 01:45:01.147837973: call returned: [0, "", ""] 01:45:01.147981066: calling as root: ln -s /bin/true /usr/bin/macchanger 01:45:01.184651385: call returned: [0, "", ""] Given macchanger will fail by not spoofing and always returns true # features/step_definitions/mac_spoofing.rb:53 01:45:01.932186522: calling as root: loginctl 01:45:01.942492560: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:45:01.976809246: call returned: [0, "SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1\n\n1 sessions listed.\n", ""] 01:45:02.977167677: calling as root: loginctl 01:45:03.023697150: call returned: [0, "SESSION UID USER SEAT TTY \n 3 1000 amnesia seat0 tty2\n c1 113 Debian-gdm seat0 tty1\n\n2 sessions listed.\n", ""] 01:45:07.167683876: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:45:07.335010207: call returned: [0, "", ""] 01:45:07.335120955: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:45:07.722227965: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:278 01:45:07.723013465: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 01:45:07.914090664: call returned: [0, "eth0\n", ""] Then no network interfaces are enabled # features/step_definitions/mac_spoofing.rb:79 <0> expected but was <1>. (Test::Unit::AssertionFailedError) features/mac_spoofing.feature:49:in `Then no network interfaces are enabled' And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 And I see the "Network card disabled" notification after at most 60 seconds # features/step_definitions/common_steps.rb:357 01:45:11.005946548: calling as root: echo 'hello?' 01:45:11.109821326: call returned: [0, "hello?\n", ""] 01:45:11.110073027: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 01:45:11.166415253: call returned: [0, "", ""] 01:45:11.166536918: opening file /tmp/systemd.journal in 'read' mode 01:45:13.571525317: read complete Scenario failed at time 01:45:10 Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:10_MAC_address_spoofing_fails_and_macchanger_returns_true.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:10_MAC_address_spoofing_fails_and_macchanger_returns_true.journal Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:10_MAC_address_spoofing_fails_and_macchanger_returns_true.mkv #10774 @fragile Scenario: MAC address spoofing fails and the module is not removed # features/mac_spoofing.feature:56 01:45:14.934269680: calling as root: echo 'hello?' 01:45:14.972770034: call returned: [0, "hello?\n", ""] 01:45:15.695235260: calling as root: nmcli device show eth0 01:45:15.695317304: [log] CLICK on L(1023,384)@S(0)[0,0 1024x768] 01:45:15.783966466: call returned: [8, "", "Error: NetworkManager is not running.\n"] 01:45:15.791567685: calling as root: date -s '@1552599586' 01:45:15.828969255: call returned: [0, "Thu Mar 14 21:39:46 UTC 2019\n", ""] 01:45:15.854974876: calling as root: mv /usr/bin/macchanger /usr/bin/macchanger.orig 01:45:15.907916478: call returned: [0, "", ""] 01:45:15.908050602: calling as root: ln -s /bin/true /usr/bin/macchanger 01:45:15.945901481: call returned: [0, "", ""] Given macchanger will fail by not spoofing and always returns true # features/step_definitions/mac_spoofing.rb:53 01:45:15.946940192: calling as root: dpkg-divert --add --rename --divert '/usr/local/lib/modprobe' /sbin/modprobe 01:45:15.999138923: call returned: [0, "Adding 'local diversion of /sbin/modprobe to /usr/local/lib/modprobe'\n", ""] 01:45:15.999243599: opening file /sbin/modprobe in 'append' mode 01:45:16.010853514: append complete 01:45:16.010940515: calling as root: chmod a+rx /sbin/modprobe 01:45:16.045115416: call returned: [0, "", ""] And no network interface modules can be unloaded # features/step_definitions/mac_spoofing.rb:58 01:45:16.793415970: calling as root: loginctl 01:45:16.793500162: [log] CLICK on L(767,159)@S(0)[0,0 1024x768] 01:45:16.838032638: call returned: [0, "SESSION UID USER SEAT TTY \n c1 113 Debian-gdm seat0 tty1\n\n1 sessions listed.\n", ""] 01:45:17.838293114: calling as root: loginctl 01:45:17.886337850: call returned: [0, "SESSION UID USER SEAT TTY \n 3 1000 amnesia seat0 tty2\n c1 113 Debian-gdm seat0 tty1\n\n2 sessions listed.\n", ""] 01:45:22.371920840: calling as amnesia: gsettings set org.gnome.desktop.session idle-delay 0 01:45:22.631705276: call returned: [0, "", ""] 01:45:22.631815872: calling as amnesia: gsettings set org.gnome.desktop.interface toolkit-accessibility true 01:45:22.795673669: call returned: [0, "", ""] When I log in to a new session # features/step_definitions/common_steps.rb:278 01:45:22.796449326: calling as root: . /usr/local/lib/tails-shell-library/hardware.sh && get_all_ethernet_nics 01:45:22.953661920: call returned: [0, "eth0\n", ""] Then 1 network interface is enabled # features/step_definitions/mac_spoofing.rb:79 01:45:22.954661114: calling as root: systemctl show NetworkManager 01:45:23.405497099: call returned: [0, "Type=dbus\nRestart=on-failure\nNotifyAccess=none\nRestartUSec=100ms\nTimeoutStartUSec=1min 30s\nTimeoutStopUSec=5s\nRuntimeMaxUSec=infinity\nWatchdogUSec=0\nWatchdogTimestampMonotonic=0\nRootDirectoryStartOnly=no\nRemainAfterExit=no\nGuessMainPID=yes\nMainPID=0\nControlPID=0\nBusName=org.freedesktop.NetworkManager\nFileDescriptorStoreMax=0\nNFileDescriptorStore=0\nStatusErrno=0\nResult=success\nUID=[not set]\nGID=[not set]\nNRestarts=0\nExecMainStartTimestampMonotonic=0\nExecMainExitTimestampMonotonic=0\nExecMainPID=0\nExecMainCode=0\nExecMainStatus=0\nExecStart={ path=/usr/sbin/NetworkManager ; argv[]=/usr/sbin/NetworkManager --no-daemon ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }\nExecReload={ path=/bin/kill ; argv[]=/bin/kill -HUP $MAINPID ; ignore_errors=no ; start_time=[n/a] ; stop_time=[n/a] ; pid=0 ; code=(null) ; status=0/0 }\nSlice=system.slice\nMemoryCurrent=[not set]\nCPUUsageNSec=[not set]\nTasksCurrent=[not set]\nIPIngressBytes=18446744073709551615\nIPIngressPackets=18446744073709551615\nIPEgressBytes=18446744073709551615\nIPEgressPackets=18446744073709551615\nDelegate=no\nCPUAccounting=no\nCPUWeight=[not set]\nStartupCPUWeight=[not set]\nCPUShares=[not set]\nStartupCPUShares=[not set]\nCPUQuotaPerSecUSec=infinity\nIOAccounting=no\nIOWeight=[not set]\nStartupIOWeight=[not set]\nBlockIOAccounting=no\nBlockIOWeight=[not set]\nStartupBlockIOWeight=[not set]\nMemoryAccounting=no\nMemoryMin=0\nMemoryLow=0\nMemoryHigh=infinity\nMemoryMax=infinity\nMemorySwapMax=infinity\nMemoryLimit=infinity\nDevicePolicy=auto\nTasksAccounting=yes\nTasksMax=2352\nIPAccounting=no\nUMask=0022\nLimitCPU=infinity\nLimitCPUSoft=infinity\nLimitFSIZE=infinity\nLimitFSIZESoft=infinity\nLimitDATA=infinity\nLimitDATASoft=infinity\nLimitSTACK=infinity\nLimitSTACKSoft=8388608\nLimitCORE=infinity\nLimitCORESoft=0\nLimitRSS=infinity\nLimitRSSSoft=infinity\nLimitNOFILE=524288\nLimitNOFILESoft=1024\nLimitAS=infinity\nLimitASSoft=infinity\nLimitNPROC=7842\nLimitNPROCSoft=7842\nLimitMEMLOCK=67108864\nLimitMEMLOCKSoft=67108864\nLimitLOCKS=infinity\nLimitLOCKSSoft=infinity\nLimitSIGPENDING=7842\nLimitSIGPENDINGSoft=7842\nLimitMSGQUEUE=819200\nLimitMSGQUEUESoft=819200\nLimitNICE=0\nLimitNICESoft=0\nLimitRTPRIO=0\nLimitRTPRIOSoft=0\nLimitRTTIME=infinity\nLimitRTTIMESoft=infinity\nOOMScoreAdjust=0\nNice=0\nIOSchedulingClass=0\nIOSchedulingPriority=0\nCPUSchedulingPolicy=0\nCPUSchedulingPriority=0\nTimerSlackNSec=50000\nCPUSchedulingResetOnFork=no\nNonBlocking=no\nStandardInput=null\nStandardInputData=\nStandardOutput=journal\nStandardError=inherit\nTTYReset=no\nTTYVHangup=no\nTTYVTDisallocate=no\nSyslogPriority=30\nSyslogLevelPrefix=yes\nSyslogLevel=6\nSyslogFacility=3\nLogLevelMax=-1\nLogRateLimitIntervalUSec=0\nLogRateLimitBurst=0\nSecureBits=0\nCapabilityBoundingSet=cap_dac_override cap_kill cap_setgid cap_setuid cap_net_bind_service cap_net_admin cap_net_raw cap_sys_module cap_sys_chroot cap_audit_write\nAmbientCapabilities=\nDynamicUser=no\nRemoveIPC=no\nMountFlags=\nPrivateTmp=no\nPrivateDevices=no\nProtectKernelTunables=no\nProtectKernelModules=no\nProtectControlGroups=no\nPrivateNetwork=no\nPrivateUsers=no\nPrivateMounts=no\nProtectHome=read-only\nProtectSystem=yes\nSameProcessGroup=no\nUtmpMode=init\nIgnoreSIGPIPE=yes\nNoNewPrivileges=no\nSystemCallErrorNumber=0\nLockPersonality=no\nRuntimeDirectoryPreserve=no\nRuntimeDirectoryMode=0755\nStateDirectoryMode=0755\nCacheDirectoryMode=0755\nLogsDirectoryMode=0755\nConfigurationDirectoryMode=0755\nMemoryDenyWriteExecute=no\nRestrictRealtime=no\nRestrictNamespaces=no\nMountAPIVFS=no\nKeyringMode=private\nKillMode=process\nKillSignal=15\nFinalKillSignal=9\nSendSIGKILL=yes\nSendSIGHUP=no\nWatchdogSignal=6\nId=NetworkManager.service\nNames=NetworkManager.service\nRequires=sysinit.target system.slice dbus.socket\nWants=network.target\nConflicts=shutdown.target\nBefore=network.target shutdown.target\nAfter=sysinit.target network-pre.target systemd-journald.socket dbus.socket system.slice dbus.service basic.target\nDocumentation=man:NetworkManager(8)\nDescription=Network Manager\nLoadState=loaded\nActiveState=inactive\nSubState=dead\nFragmentPath=/lib/systemd/system/NetworkManager.service\nUnitFileState=disabled\nUnitFilePreset=enabled\nStateChangeTimestampMonotonic=0\nInactiveExitTimestampMonotonic=0\nActiveEnterTimestampMonotonic=0\nActiveExitTimestampMonotonic=0\nInactiveEnterTimestampMonotonic=0\nCanStart=yes\nCanStop=yes\nCanReload=yes\nCanIsolate=no\nStopWhenUnneeded=no\nRefuseManualStart=no\nRefuseManualStop=no\nAllowIsolate=no\nDefaultDependencies=yes\nOnFailureJobMode=replace\nIgnoreOnIsolate=no\nNeedDaemonReload=no\nJobTimeoutUSec=infinity\nJobRunningTimeoutUSec=infinity\nJobTimeoutAction=none\nConditionResult=no\nAssertResult=no\nConditionTimestampMonotonic=0\nAssertTimestampMonotonic=0\nTransient=no\nPerpetual=no\nStartLimitIntervalUSec=10s\nStartLimitBurst=5\nStartLimitAction=none\nFailureAction=none\nFailureActionExitStatus=-1\nSuccessAction=none\nSuccessActionExitStatus=-1\nCollectMode=inactive\n", ""] 01:45:23.405642037: calling as root: pidof -x -o '%PPID' NetworkManager 01:45:23.999655136: call returned: [1, "", ""] But the MAC spoofing panic mode disabled networking # features/step_definitions/mac_spoofing.rb:86 NetworkManager was not disabled. is not true. (Test::Unit::AssertionFailedError) features/mac_spoofing.feature:61:in `But the MAC spoofing panic mode disabled networking' And no network device leaked the real MAC address # features/step_definitions/mac_spoofing.rb:38 And I see the "All networking disabled" notification after at most 60 seconds # features/step_definitions/common_steps.rb:357 01:45:27.076586491: calling as root: echo 'hello?' 01:45:27.112732601: call returned: [0, "hello?\n", ""] 01:45:27.112920561: calling as root: journalctl -a --no-pager > /tmp/systemd.journal 01:45:27.159961870: call returned: [0, "", ""] 01:45:27.160057787: opening file /tmp/systemd.journal in 'read' mode 01:45:29.705243041: read complete Scenario failed at time 01:45:27 Screenshot: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:27_MAC_address_spoofing_fails_and_the_module_is_not_removed.png Systemd journal: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:27_MAC_address_spoofing_fails_and_the_module_is_not_removed.journal Video: http://jenkins.sib:8080/job/test_Tails_ISO_bugfix-16559-tor-browser-8.0.7-force-all-tests/1/artifact/build-artifacts/01:45:27_MAC_address_spoofing_fails_and_the_module_is_not_removed.mkv