[+] Qemu user-mode emulation

The usermode emulator module emulates exectuables from the firmware with Qemu to get version information.

[*] Using jchroot for building more secure chroot environments
[*] This module creates a working copy of the firmware filesystem in the log directory /logs.

[*] Create a firmware backup for emulation ...
[*] Firmware backup for emulation created in /logs/s115_usermode_emulator/firmware
[*] Root directory auto detection for /logs/s115_usermode_emulator/firmware (could take some time)

[*] Found 1 different root directories:
[+] Found the following root directory: /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract via dir names.


[*] Detected 1 root directories

[*] Detected root path: /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract
[*] Running emulation processes in /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract root path (1/1).
[*] Create unique binary array for /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract root path (1/1).
[*] Testing 50 unique executables in root directory: /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract (1/1).


==> Preparation phase

[*] Preparing the environment for usermode emulation
[*] Creating dev area for user mode emulation
[*] Creating /dev/armem
[*] Creating /dev/tty0
[*] Creating /dev/ttyS0 - ttyS3
[*] Creating /dev/adsl0
[*] Creating /dev/hidraw0

[*] Currently mounted areas:
    proc on /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract/proc type proc (rw,relatime)
    tmpfs on /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract/run type tmpfs (rw,nosuid,nodev,noexec,relatime,mode=755,inode64)
    sysfs on /logs/s115_usermode_emulator/firmware/unblob_extracted/firmware_extract/DIR-600_fw_revb5_214b01_ALL_de_20130122/dir600b_v2.14_d1mg.bin_extract/1179788-3612812.squashfs_v4_le_extract/sys type sysfs (ro,nosuid,nodev,noexec,relatime)

[*] Final fixes of the root filesytem in a chroot environment



[*] Initial CPU detection process of binary libiptc.so.0.0.0 with CPU configuration .
[*] Initial CPU detection process of binary libgcc_s.so.1 with CPU configuration .
[*] Initial CPU detection process of binary libxtables.so.4.0.0 with CPU configuration .
[*] Initial CPU detection process of binary libip4tc.so.0.0.0 with CPU configuration .
[*] Initial CPU detection process of binary libip6tc.so.0.0.0 with CPU configuration .
[*] Initial CPU detection process of binary cgibin with CPU configuration .
[*] Initial CPU detection process of binary servd with CPU configuration .
[*] Initial strace run with jchroot on the command ./htdocs/cgibin to identify missing areas
[*] Initial CPU detection process of binary portt with CPU configuration NONE.
[*] Initial CPU detection process of binary sendmail with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/servd to identify missing areas
[*] Initial CPU detection process of binary logd with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/portt to identify missing areas
[*] Initial CPU detection process of binary pppd with CPU configuration NONE.
[*] Initial CPU detection process of binary hostapd with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/logd to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/pppd to identify missing areas
[*] Initial CPU detection process of binary dhcp6s with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/hostapd to identify missing areas
[*] Initial CPU detection process of binary dhcp6c with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/dhcp6s to identify missing areas
[*] Initial CPU detection process of binary neaps with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/dhcp6c to identify missing areas
[*] Initial CPU detection process of binary xmldb with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/neaps to identify missing areas
[*] Initial CPU detection process of binary igmpproxy with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./lib/libgcc_s.so.1 to identify missing areas
[*] Initial strace run with jchroot on the command ./lib/libiptc.so.0.0.0 to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/xmldb to identify missing areas
[*] Initial CPU detection process of binary updatewifistats with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./lib/libxtables.so.4.0.0 to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/igmpproxy to identify missing areas
[*] Initial strace run with jchroot on the command ./lib/libip4tc.so.0.0.0 to identify missing areas
[*] Initial strace run with jchroot on the command ./lib/libip6tc.so.0.0.0 to identify missing areas
[*] Initial CPU detection process of binary ubcfg with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/updatewifistats to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/ubcfg to identify missing areas
[*] Initial CPU detection process of binary ip6tables-multi with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/sendmail to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/ip6tables-multi to identify missing areas
[*] Initial CPU detection process of binary gpiod with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/gpiod to identify missing areas
[*] Initial CPU detection process of binary telnetd with CPU configuration NONE.
[*] Initial CPU detection process of binary llmnresp with CPU configuration NONE.
[*] Initial CPU detection process of binary klogd with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/telnetd to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/llmnresp to identify missing areas
[*] Initial CPU detection process of binary ddnsd with CPU configuration NONE.
[*] Initial CPU detection process of binary updateleases with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/klogd to identify missing areas
[*] Initial CPU detection process of binary iptables-multi with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/ddnsd to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/updateleases to identify missing areas
[*] Initial CPU detection process of binary nsbbox with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/iptables-multi to identify missing areas
[*] Initial CPU detection process of binary widget with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/nsbbox to identify missing areas
[*] Initial CPU detection process of binary trigger with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/widget to identify missing areas
[*] Initial CPU detection process of binary rgbin with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/trigger to identify missing areas
[*] Initial CPU detection process of binary lld2d with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/rgbin to identify missing areas
[*] Initial CPU detection process of binary radvd with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/lld2d to identify missing areas
[*] Initial CPU detection process of binary tc with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/radvd to identify missing areas
[*] Binary ./usr/sbin/ated (35/50) not emulated - blacklist triggered
[*] Initial CPU detection process of binary ip with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/tc to identify missing areas
[*] Initial CPU detection process of binary ecmh with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/ip to identify missing areas
[*] Initial CPU detection process of binary dnsmasq with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/ecmh to identify missing areas
[*] Initial CPU detection process of binary netbios with CPU configuration NONE.
[*] Initial CPU detection process of binary rdisc6 with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/dnsmasq to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/netbios to identify missing areas
[*] Initial CPU detection process of binary radvdump with CPU configuration NONE.
[*] Binary ./usr/sbin/udhcpd (42/50) not emulated - blacklist triggered
[*] Initial strace run with jchroot on the command ./usr/sbin/rdisc6 to identify missing areas
[*] Initial CPU detection process of binary logger with CPU configuration NONE.
[*] Initial CPU detection process of binary rt3052esw with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/radvdump to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/logger to identify missing areas
[*] Initial CPU detection process of binary wps with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/rt3052esw to identify missing areas
[*] Initial CPU detection process of binary iwconfig with CPU configuration NONE.
[*] Initial CPU detection process of binary ubcom with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/wps to identify missing areas
[*] Initial strace run with jchroot on the command ./usr/sbin/iwconfig to identify missing areas
[*] Initial CPU detection process of binary rndimage with CPU configuration NONE.
[*] Binary ./sbin/httpd (49/50) not emulated - blacklist triggered
[*] Initial strace run with jchroot on the command ./sbin/ubcom to identify missing areas
[*] Initial CPU detection process of binary busybox with CPU configuration NONE.
[*] Initial strace run with jchroot on the command ./usr/sbin/rndimage to identify missing areas
[*] Initial strace run with jchroot on the command ./bin/busybox to identify missing areas



==> Reporting phase

[+] Emulated binary libiptc.so.0.0.0 generated output in /logs/s115_usermode_emulator/qemu_tmp_libiptc.so.0.0.0.txt.


[+] Emulated binary radvdump generated output in /logs/s115_usermode_emulator/qemu_tmp_radvdump.txt.


[+] Emulated binary klogd generated output in /logs/s115_usermode_emulator/qemu_tmp_klogd.txt.


[+] Emulated binary ip generated output in /logs/s115_usermode_emulator/qemu_tmp_ip.txt.


[+] Emulated binary libip4tc.so.0.0.0 generated output in /logs/s115_usermode_emulator/qemu_tmp_libip4tc.so.0.0.0.txt.


[+] Emulated binary updateleases generated output in /logs/s115_usermode_emulator/qemu_tmp_updateleases.txt.


[+] Emulated binary radvd generated output in /logs/s115_usermode_emulator/qemu_tmp_radvd.txt.


[+] Emulated binary telnetd generated output in /logs/s115_usermode_emulator/qemu_tmp_telnetd.txt.


[+] Emulated binary rt3052esw generated output in /logs/s115_usermode_emulator/qemu_tmp_rt3052esw.txt.


[+] Emulated binary ecmh generated output in /logs/s115_usermode_emulator/qemu_tmp_ecmh.txt.


[+] Emulated binary wps generated output in /logs/s115_usermode_emulator/qemu_tmp_wps.txt.


[+] Emulated binary logger generated output in /logs/s115_usermode_emulator/qemu_tmp_logger.txt.


[+] Emulated binary llmnresp generated output in /logs/s115_usermode_emulator/qemu_tmp_llmnresp.txt.


[+] Emulated binary portt generated output in /logs/s115_usermode_emulator/qemu_tmp_portt.txt.


[+] Emulated binary trigger generated output in /logs/s115_usermode_emulator/qemu_tmp_trigger.txt.


[+] Emulated binary netbios generated output in /logs/s115_usermode_emulator/qemu_tmp_netbios.txt.


[+] Emulated binary cgibin generated output in /logs/s115_usermode_emulator/qemu_tmp_cgibin.txt.


[+] Emulated binary dhcp6c generated output in /logs/s115_usermode_emulator/qemu_tmp_dhcp6c.txt.


[+] Emulated binary gpiod generated output in /logs/s115_usermode_emulator/qemu_tmp_gpiod.txt.


[+] Emulated binary dhcp6s generated output in /logs/s115_usermode_emulator/qemu_tmp_dhcp6s.txt.


[+] Emulated binary neaps generated output in /logs/s115_usermode_emulator/qemu_tmp_neaps.txt.


[+] Emulated binary ddnsd generated output in /logs/s115_usermode_emulator/qemu_tmp_ddnsd.txt.


[+] Emulated binary libgcc generated output in /logs/s115_usermode_emulator/qemu_tmp_libgcc_s.so.1.txt.


[+] Emulated binary rgbin generated output in /logs/s115_usermode_emulator/qemu_tmp_rgbin.txt.


[+] Emulated binary hostapd generated output in /logs/s115_usermode_emulator/qemu_tmp_hostapd.txt.


[+] Emulated binary rdisc6 generated output in /logs/s115_usermode_emulator/qemu_tmp_rdisc6.txt.


[+] Emulated binary libip6tc.so.0.0.0 generated output in /logs/s115_usermode_emulator/qemu_tmp_libip6tc.so.0.0.0.txt.


[+] Emulated binary iptables-multi generated output in /logs/s115_usermode_emulator/qemu_tmp_iptables-multi.txt.


[+] Emulated binary iwconfig generated output in /logs/s115_usermode_emulator/qemu_tmp_iwconfig.txt.


[+] Emulated binary logd generated output in /logs/s115_usermode_emulator/qemu_tmp_logd.txt.


[+] Emulated binary dnsmasq generated output in /logs/s115_usermode_emulator/qemu_tmp_dnsmasq.txt.


[+] Emulated binary servd generated output in /logs/s115_usermode_emulator/qemu_tmp_servd.txt.


[+] Emulated binary ubcfg generated output in /logs/s115_usermode_emulator/qemu_tmp_ubcfg.txt.


[+] Emulated binary libxtables.so.4.0.0 generated output in /logs/s115_usermode_emulator/qemu_tmp_libxtables.so.4.0.0.txt.


[+] Emulated binary sendmail generated output in /logs/s115_usermode_emulator/qemu_tmp_sendmail.txt.


[+] Emulated binary nsbbox generated output in /logs/s115_usermode_emulator/qemu_tmp_nsbbox.txt.


[+] Emulated binary ip6tables-multi generated output in /logs/s115_usermode_emulator/qemu_tmp_ip6tables-multi.txt.


[+] Emulated binary tc generated output in /logs/s115_usermode_emulator/qemu_tmp_tc.txt.


[+] Emulated binary widget generated output in /logs/s115_usermode_emulator/qemu_tmp_widget.txt.


[+] Emulated binary igmpproxy generated output in /logs/s115_usermode_emulator/qemu_tmp_igmpproxy.txt.


[+] Emulated binary xmldb generated output in /logs/s115_usermode_emulator/qemu_tmp_xmldb.txt.


[+] Emulated binary rndimage generated output in /logs/s115_usermode_emulator/qemu_tmp_rndimage.txt.


[+] Emulated binary pppd generated output in /logs/s115_usermode_emulator/qemu_tmp_pppd.txt.


[+] Emulated binary ubcom generated output in /logs/s115_usermode_emulator/qemu_tmp_ubcom.txt.


[+] Emulated binary busybox generated output in /logs/s115_usermode_emulator/qemu_tmp_busybox.txt.


[+] Emulated binary lld2d generated output in /logs/s115_usermode_emulator/qemu_tmp_lld2d.txt.


[+] Emulated binary updatewifistats generated output in /logs/s115_usermode_emulator/qemu_tmp_updatewifistats.txt.