Installing Virtualbox Guest Additions on Kali Linux: When nothing goes right and how I fixed it

Kali Linux Installation Problems

I’m getting various errors when installing Virtualbox Guest Additions on a Kali Linux VM.

Resources that helped:

Online articles and resources:
– https://askubuntu.com/questions/80341/unable-to-mount-virtualbox-guest-additions-as-a-guest-win7-host
– https://www.youtube.com/watch?v=KAWRNjKpEd0
https://askubuntu.com/questions/75709/how-do-i-install-kernel-header-files
– https://unix.stackexchange.com/questions/328655/cant-install-linux-headers-kali-linux
– https://www.youtube.com/watch?v=SOEYLMmfxKk

Below are the specific steps extracted from the command line history below which contains all of my troubleshooting session. I did fix it so if you follow along you can see my steps and the output from them. Hope this helps!

Steps:
1. Copy to desktop copy of VBoxLinuxAdditions.run from Guest Additions CD
2. run chmod +x ./VBoxLinusAdditions.run on Desktop copy
3. Attempt to fix headers on recommendation by upgrading of Linux components using: # apt update -y && apt upgrade -y && ajpt dist-upgrade
4. Realize that last step didn’t fix issue and that specific issue header module is corrupt or missing.
5. Find out what header modules are available using: apt-cache search linux-headers
6. Selected and installed module using:  apt-get install linux-headers-4.13.0-kali1-all-amd64
7. Run ./VBoxLinuxAdditions.run
8. Success

Linux Command Line of Trial and Error w/ Fix

root@kali:~# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.2 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 5.2.2 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64 linux-headers-4.13.0-kali1-amd64
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64 linux-headers-4.13.0-kali1-amd64
root@kali:~# clear

root@kali:~# apt update -y && apt upgrade -y && ajpt dist-upgrade
Get:2 https://packages.microsoft.com/repos/vscode stable InRelease [2,802 B]
Get:1 http://mirrors.ocf.berkeley.edu/kali kali-rolling InRelease [30.5 kB]    
Get:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 Packages [15.6 MB]
Get:4 https://packages.microsoft.com/repos/vscode stable/main amd64 Packages [33.4 kB]
Get:5 http://mirrors.ocf.berkeley.edu/kali kali-rolling/non-free amd64 Packages [166 kB]
Get:6 http://mirrors.ocf.berkeley.edu/kali kali-rolling/contrib amd64 Packages [113 kB]
Fetched 16.0 MB in 4s (3,495 kB/s)                   
Reading package lists... Done
Building dependency tree       
Reading state information... Done
86 packages can be upgraded. Run 'apt list --upgradable' to see them.
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
  libarmadillo7 libxerces-c3.1
Use 'apt autoremove' to remove them.
The following NEW packages will be installed:
  libarmadillo8 libconfig-inifiles-perl libxerces-c3.2 python-jwt
The following packages will be upgraded:
  aircrack-ng cabextract cgpt console-setup console-setup-linux exim4-base
  exim4-config exim4-daemon-light flasm fontconfig fontconfig-config
  fonts-noto-mono gdal-bin gdal-data glusterfs-common iproute2 iso-codes
  keyboard-configuration libaprutil1 libaprutil1-dbd-sqlite3 libaprutil1-ldap
  libc-bin libc-dev-bin libc-l10n libc6 libc6-dbg libc6-dev
  libdbd-sqlite3-perl libdevel-partialdump-perl libdevel-stacktrace-perl
  libfcgi-bin libfcgi0ldbl libfontconfig1 libgcab-1.0-0 libgdal20 libkeyutils1
  libmailutils5 libmariadbclient18 libmysofa0 libopenmpt0 liborc-0.4-0
  libsmbclient libtevent0 libwbclient0 libwebp6 libwebpdemux2 libwebpmux3
  libwww-perl locales locales-all mailutils mailutils-common man-db
  mariadb-client-10.1 mariadb-client-core-10.1 mariadb-common
  mariadb-server-10.1 mariadb-server-core-10.1 metasploit-framework
  multiarch-support nano python-cairo python-construct python-cryptography
  python-gdal python-gi python-gobject python-samba python3-cairo
  python3-construct python3-cryptography python3-gi python3-gi-cairo
  python3-pyatspi samba samba-common samba-common-bin samba-dsdb-modules
  samba-libs samba-vfs-modules smbclient socat vboot-kernel-utils vboot-utils
  winexe xauth
86 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
Need to get 173 MB/177 MB of archives.
After this operation, 3,631 kB disk space will be freed.
Get:1 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc-l10n all 2.25-2 [844 kB]
Get:2 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 locales all 2.25-2 [3,287 kB]
Get:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 locales-all amd64 2.25-2 [3,603 kB]
Get:4 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc6 amd64 2.25-2 [2,727 kB]
Get:5 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc-bin amd64 2.25-2 [788 kB]
Get:6 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc6-dbg amd64 2.25-2 [9,365 kB]
Get:7 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc-dev-bin amd64 2.25-2 [262 kB]
Get:8 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libc6-dev amd64 2.25-2 [2,431 kB]
Get:9 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 man-db amd64 2.7.6.1-4 [1,047 kB]
Get:10 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 console-setup-linux all 1.171 [982 kB]
Get:11 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 console-setup all 1.171 [103 kB]
Get:12 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 keyboard-configuration all 1.171 [401 kB]
Get:13 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 fontconfig-config all 2.12.6-0.1 [304 kB]
Get:14 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libfontconfig1 amd64 2.12.6-0.1 [368 kB]
Get:15 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 fontconfig amd64 2.12.6-0.1 [439 kB]
Get:16 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba-vfs-modules amd64 2:4.7.3+dfsg-1 [402 kB]
Get:17 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba-dsdb-modules amd64 2:4.7.3+dfsg-1 [342 kB]
Get:18 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba amd64 2:4.7.3+dfsg-1 [954 kB]
Get:19 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba-common-bin amd64 2:4.7.3+dfsg-1 [615 kB]
Get:20 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 smbclient amd64 2:4.7.3+dfsg-1 [448 kB]
Get:21 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libsmbclient amd64 2:4.7.3+dfsg-1 [153 kB]
Get:22 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 winexe amd64 1.1~20140107-0kali6+b3 [32.4 kB]
Get:23 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 python-samba amd64 2:4.7.3+dfsg-1 [2,018 kB]
Get:24 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba-libs amd64 2:4.7.3+dfsg-1 [5,402 kB]
Get:25 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libwbclient0 amd64 2:4.7.3+dfsg-1 [127 kB]
Get:26 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 samba-common all 2:4.7.3+dfsg-1 [162 kB]
Get:27 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mariadb-common all 1:10.1.29-6 [28.2 kB]
Get:28 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mariadb-client-core-10.1 amd64 1:10.1.29-6 [4,764 kB]
Get:29 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libconfig-inifiles-perl all 2.94-1 [53.4 kB]
Get:30 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mariadb-server-10.1 amd64 1:10.1.29-6 [5,050 kB]
Get:31 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mariadb-client-10.1 amd64 1:10.1.29-6 [5,649 kB]
Get:32 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mariadb-server-core-10.1 amd64 1:10.1.29-6 [4,920 kB]
Get:33 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 multiarch-support amd64 2.25-2 [204 kB]
Get:34 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 nano amd64 2.9.0-1 [512 kB]
Get:35 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libkeyutils1 amd64 1.5.9-9.2 [12.9 kB]
Get:36 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 aircrack-ng amd64 1:1.2-0~rc4-4 [2,722 kB]
Get:37 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 cabextract amd64 1.6-1.1 [31.5 kB]
Get:38 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 cgpt amd64 0~R63-10032.B-2 [30.3 kB]
Get:39 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 exim4-config all 4.89-11 [317 kB]
Get:40 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 exim4-base amd64 4.89-11 [1,093 kB]
Get:41 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 exim4-daemon-light amd64 4.89-11 [546 kB]
Get:42 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 flasm amd64 1.62-10 [90.2 kB]
Get:43 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 gdal-data all 2.2.2+dfsg-2 [566 kB]
Get:44 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libarmadillo8 amd64 1:8.200.2+dfsg-1 [82.3 kB]
Get:45 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libmariadbclient18 amd64 1:10.1.29-6 [737 kB]
Get:46 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libwebp6 amd64 0.6.0-4 [254 kB]
Get:47 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libxerces-c3.2 amd64 3.2.0+debian-2 [863 kB]
Get:48 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libgdal20 amd64 2.2.2+dfsg-2+b3 [5,318 kB]
Get:49 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 gdal-bin amd64 2.2.2+dfsg-2+b3 [373 kB]
Get:50 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 python-jwt all 1.5.3+ds1-1 [18.4 kB]
Get:51 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 glusterfs-common amd64 3.12.3-1 [5,188 kB]
Get:52 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 iso-codes all 3.77-1 [2,398 kB]
Get:53 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libaprutil1-ldap amd64 1.6.1-1 [16.3 kB]
Get:54 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libaprutil1-dbd-sqlite3 amd64 1.6.1-1 [18.2 kB]
Get:55 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libaprutil1 amd64 1.6.1-1 [91.1 kB]
Get:56 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libdbd-sqlite3-perl amd64 1.55~04-1 [166 kB]
Get:57 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libdevel-partialdump-perl all 0.20-1 [15.3 kB]
Get:58 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libdevel-stacktrace-perl all 2.0300-1 [28.0 kB]
Get:59 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libfcgi-bin amd64 2.4.0-10 [12.4 kB]
Get:60 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libfcgi0ldbl amd64 2.4.0-10 [155 kB]
Get:61 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libgcab-1.0-0 amd64 0.7-5 [28.8 kB]
Get:62 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mailutils amd64 1:3.4-1 [581 kB]
Get:63 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libmailutils5 amd64 1:3.4-1 [873 kB]
Get:64 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 mailutils-common all 1:3.4-1 [678 kB]
Get:65 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libmysofa0 amd64 0.6~dfsg0-2 [37.9 kB]
Get:66 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libopenmpt0 amd64 0.3.3-1 [572 kB]
Get:67 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 liborc-0.4-0 amd64 1:0.4.28-1 [141 kB]
Get:68 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libwebpdemux2 amd64 0.6.0-4 [81.7 kB]
Get:69 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libwebpmux3 amd64 0.6.0-4 [91.8 kB]
Get:70 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 libwww-perl all 6.29-1 [186 kB]
Get:71 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 metasploit-framework amd64 4.16.19-0kali1 [88.8 MB]
Get:72 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 python-gdal amd64 2.2.2+dfsg-2+b3 [755 kB]
Get:73 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 python3-pyatspi all 2.26.0+dfsg-1 [34.6 kB]
Get:74 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 vboot-kernel-utils amd64 0~R63-10032.B-2 [268 kB]
Get:75 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 vboot-utils amd64 0~R63-10032.B-2 [121 kB]
Get:76 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 xauth amd64 1:1.0.10-1 [40.3 kB]
Fetched 173 MB in 23s (7,473 kB/s)                                             
apt-listchanges: Reading changelogs...
Extracting templates from packages: 100%
Preconfiguring packages ...
(Reading database ... 327440 files and directories currently installed.)
Preparing to unpack .../libc-l10n_2.25-2_all.deb ...
Unpacking libc-l10n (2.25-2) over (2.24-17) ...
Preparing to unpack .../locales_2.25-2_all.deb ...
Unpacking locales (2.25-2) over (2.24-17) ...
Preparing to unpack .../locales-all_2.25-2_amd64.deb ...
Unpacking locales-all (2.25-2) over (2.24-17) ...
Preparing to unpack .../libc6_2.25-2_amd64.deb ...
Checking for services that may need to be restarted...
Checking init scripts...
Unpacking libc6:amd64 (2.25-2) over (2.24-17) ...
Setting up libc6:amd64 (2.25-2) ...
Checking for services that may need to be restarted...
Checking init scripts...

Restarting services possibly affected by the upgrade:
  cron: restarting...done.

Services restarted successfully.
(Reading database ... 327440 files and directories currently installed.)
Preparing to unpack .../libc-bin_2.25-2_amd64.deb ...
Unpacking libc-bin (2.25-2) over (2.24-17) ...
Setting up libc-bin (2.25-2) ...
(Reading database ... 327440 files and directories currently installed.)
Preparing to unpack .../00-libc6-dbg_2.25-2_amd64.deb ...
Unpacking libc6-dbg:amd64 (2.25-2) over (2.24-17) ...
Preparing to unpack .../01-libc-dev-bin_2.25-2_amd64.deb ...
Unpacking libc-dev-bin (2.25-2) over (2.24-17) ...
Preparing to unpack .../02-libc6-dev_2.25-2_amd64.deb ...
Unpacking libc6-dev:amd64 (2.25-2) over (2.24-17) ...
Preparing to unpack .../03-man-db_2.7.6.1-4_amd64.deb ...
Unpacking man-db (2.7.6.1-4) over (2.7.6.1-2) ...
Preparing to unpack .../04-console-setup-linux_1.171_all.deb ...
Unpacking console-setup-linux (1.171) over (1.170) ...
Preparing to unpack .../05-console-setup_1.171_all.deb ...
Unpacking console-setup (1.171) over (1.170) ...
Preparing to unpack .../06-keyboard-configuration_1.171_all.deb ...
Unpacking keyboard-configuration (1.171) over (1.170) ...
Preparing to unpack .../07-fontconfig-config_2.12.6-0.1_all.deb ...
Unpacking fontconfig-config (2.12.6-0.1) over (2.12.3-0.2) ...
Preparing to unpack .../08-libfontconfig1_2.12.6-0.1_amd64.deb ...
Unpacking libfontconfig1:amd64 (2.12.6-0.1) over (2.12.3-0.2) ...
Preparing to unpack .../09-fontconfig_2.12.6-0.1_amd64.deb ...
Unpacking fontconfig (2.12.6-0.1) over (2.12.3-0.2) ...
Preparing to unpack .../10-libtevent0_0.9.34-1_amd64.deb ...
Unpacking libtevent0:amd64 (0.9.34-1) over (0.9.33-2) ...
Preparing to unpack .../11-samba-vfs-modules_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking samba-vfs-modules (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../12-samba-dsdb-modules_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking samba-dsdb-modules (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../13-samba_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking samba (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../14-samba-common-bin_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking samba-common-bin (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../15-smbclient_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking smbclient (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../16-libsmbclient_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking libsmbclient:amd64 (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../17-winexe_1.1~20140107-0kali6+b3_amd64.deb ...
Unpacking winexe (1.1~20140107-0kali6+b3) over (1.1~20140107-0kali6+b2) ...
Preparing to unpack .../18-python-samba_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking python-samba (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../19-samba-libs_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking samba-libs:amd64 (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../20-libwbclient0_2%3a4.7.3+dfsg-1_amd64.deb ...
Unpacking libwbclient0:amd64 (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../21-samba-common_2%3a4.7.3+dfsg-1_all.deb ...
Unpacking samba-common (2:4.7.3+dfsg-1) over (2:4.7.1+dfsg-2) ...
Preparing to unpack .../22-mariadb-common_1%3a10.1.29-6_all.deb ...
Unpacking mariadb-common (1:10.1.29-6) over (10.1.26-1) ...
Preparing to unpack .../23-mariadb-client-core-10.1_1%3a10.1.29-6_amd64.deb ...
Unpacking mariadb-client-core-10.1 (1:10.1.29-6) over (10.1.26-1) ...
Selecting previously unselected package libconfig-inifiles-perl.
Preparing to unpack .../24-libconfig-inifiles-perl_2.94-1_all.deb ...
Unpacking libconfig-inifiles-perl (2.94-1) ...
Setting up mariadb-common (1:10.1.29-6) ...
(Reading database ... 327475 files and directories currently installed.)
Preparing to unpack .../00-mariadb-server-10.1_1%3a10.1.29-6_amd64.deb ...
/var/lib/mysql: found previous version 10.1
Unpacking mariadb-server-10.1 (1:10.1.29-6) over (10.1.26-1) ...
Preparing to unpack .../01-mariadb-client-10.1_1%3a10.1.29-6_amd64.deb ...
Unpacking mariadb-client-10.1 (1:10.1.29-6) over (10.1.26-1) ...
Preparing to unpack .../02-mariadb-server-core-10.1_1%3a10.1.29-6_amd64.deb ...
Unpacking mariadb-server-core-10.1 (1:10.1.29-6) over (10.1.26-1) ...
Preparing to unpack .../03-iproute2_4.9.0-2.1_amd64.deb ...
Unpacking iproute2 (4.9.0-2.1) over (4.9.0-2) ...
Preparing to unpack .../04-socat_1.7.3.2-2_amd64.deb ...
Unpacking socat (1.7.3.2-2) over (1.7.3.2-1) ...
Preparing to unpack .../05-multiarch-support_2.25-2_amd64.deb ...
Unpacking multiarch-support (2.25-2) over (2.24-17) ...
Preparing to unpack .../06-nano_2.9.0-1_amd64.deb ...
Unpacking nano (2.9.0-1) over (2.8.7-1) ...
Preparing to unpack .../07-libkeyutils1_1.5.9-9.2_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.5.9-9.2) over (1.5.9-9) ...
Preparing to unpack .../08-aircrack-ng_1%3a1.2-0~rc4-4_amd64.deb ...
Unpacking aircrack-ng (1:1.2-0~rc4-4) over (1:1.2-0~rc4-2) ...
Preparing to unpack .../09-cabextract_1.6-1.1_amd64.deb ...
Unpacking cabextract (1.6-1.1) over (1.6-1+b1) ...
Preparing to unpack .../10-cgpt_0~R63-10032.B-2_amd64.deb ...
Unpacking cgpt (0~R63-10032.B-2) over (0~R52-8350.B-2) ...
Preparing to unpack .../11-exim4-config_4.89-11_all.deb ...
Unpacking exim4-config (4.89-11) over (4.89-7) ...
Preparing to unpack .../12-exim4-base_4.89-11_amd64.deb ...
Unpacking exim4-base (4.89-11) over (4.89-7) ...
Preparing to unpack .../13-exim4-daemon-light_4.89-11_amd64.deb ...
Unpacking exim4-daemon-light (4.89-11) over (4.89-7) ...
Preparing to unpack .../14-flasm_1.62-10_amd64.deb ...
Unpacking flasm (1.62-10) over (1.62-8) ...
Preparing to unpack .../15-fonts-noto-mono_20171026-2_all.deb ...
Unpacking fonts-noto-mono (20171026-2) over (20161116-1) ...
Preparing to unpack .../16-gdal-data_2.2.2+dfsg-2_all.deb ...
Unpacking gdal-data (2.2.2+dfsg-2) over (2.2.2+dfsg-1) ...
Selecting previously unselected package libarmadillo8.
Preparing to unpack .../17-libarmadillo8_1%3a8.200.2+dfsg-1_amd64.deb ...
Unpacking libarmadillo8 (1:8.200.2+dfsg-1) ...
Preparing to unpack .../18-libmariadbclient18_1%3a10.1.29-6_amd64.deb ...
Unpacking libmariadbclient18:amd64 (1:10.1.29-6) over (10.1.26-1) ...
Preparing to unpack .../19-libwebp6_0.6.0-4_amd64.deb ...
Unpacking libwebp6:amd64 (0.6.0-4) over (0.6.0-3) ...
Selecting previously unselected package libxerces-c3.2:amd64.
Preparing to unpack .../20-libxerces-c3.2_3.2.0+debian-2_amd64.deb ...
Unpacking libxerces-c3.2:amd64 (3.2.0+debian-2) ...
Preparing to unpack .../21-libgdal20_2.2.2+dfsg-2+b3_amd64.deb ...
Unpacking libgdal20 (2.2.2+dfsg-2+b3) over (2.2.2+dfsg-1) ...
Preparing to unpack .../22-gdal-bin_2.2.2+dfsg-2+b3_amd64.deb ...
Unpacking gdal-bin (2.2.2+dfsg-2+b3) over (2.2.2+dfsg-1) ...
Selecting previously unselected package python-jwt.
Preparing to unpack .../23-python-jwt_1.5.3+ds1-1_all.deb ...
Unpacking python-jwt (1.5.3+ds1-1) ...
Preparing to unpack .../24-glusterfs-common_3.12.3-1_amd64.deb ...
Unpacking glusterfs-common (3.12.3-1) over (3.12.2-2) ...
Preparing to unpack .../25-iso-codes_3.77-1_all.deb ...
Unpacking iso-codes (3.77-1) over (3.76-1) ...
Preparing to unpack .../26-libaprutil1-ldap_1.6.1-1_amd64.deb ...
Unpacking libaprutil1-ldap:amd64 (1.6.1-1) over (1.6.0-2) ...
Preparing to unpack .../27-libaprutil1-dbd-sqlite3_1.6.1-1_amd64.deb ...
Unpacking libaprutil1-dbd-sqlite3:amd64 (1.6.1-1) over (1.6.0-2) ...
Preparing to unpack .../28-libaprutil1_1.6.1-1_amd64.deb ...
Unpacking libaprutil1:amd64 (1.6.1-1) over (1.6.0-2) ...
Preparing to unpack .../29-libdbd-sqlite3-perl_1.55~04-1_amd64.deb ...
Unpacking libdbd-sqlite3-perl (1.55~04-1) over (1.54-2) ...
Preparing to unpack .../30-libdevel-partialdump-perl_0.20-1_all.deb ...
Unpacking libdevel-partialdump-perl (0.20-1) over (0.18-2) ...
Preparing to unpack .../31-libdevel-stacktrace-perl_2.0300-1_all.deb ...
Unpacking libdevel-stacktrace-perl (2.0300-1) over (2.0200-1) ...
Preparing to unpack .../32-libfcgi-bin_2.4.0-10_amd64.deb ...
Unpacking libfcgi-bin (2.4.0-10) over (2.4.0-8.4+b1) ...
Preparing to unpack .../33-libfcgi0ldbl_2.4.0-10_amd64.deb ...
Unpacking libfcgi0ldbl:amd64 (2.4.0-10) over (2.4.0-8.4+b1) ...
Preparing to unpack .../34-libgcab-1.0-0_0.7-5_amd64.deb ...
Unpacking libgcab-1.0-0:amd64 (0.7-5) over (0.7-4) ...
Preparing to unpack .../35-mailutils_1%3a3.4-1_amd64.deb ...
Unpacking mailutils (1:3.4-1) over (1:3.2-1) ...
Preparing to unpack .../36-libmailutils5_1%3a3.4-1_amd64.deb ...
Unpacking libmailutils5:amd64 (1:3.4-1) over (1:3.2-1) ...
Preparing to unpack .../37-mailutils-common_1%3a3.4-1_all.deb ...
Unpacking mailutils-common (1:3.4-1) over (1:3.2-1) ...
Preparing to unpack .../38-libmysofa0_0.6~dfsg0-2_amd64.deb ...
Unpacking libmysofa0:amd64 (0.6~dfsg0-2) over (0.6~dfsg0-1) ...
Preparing to unpack .../39-libopenmpt0_0.3.3-1_amd64.deb ...
Unpacking libopenmpt0:amd64 (0.3.3-1) over (0.3.2-1) ...
Preparing to unpack .../40-liborc-0.4-0_1%3a0.4.28-1_amd64.deb ...
Unpacking liborc-0.4-0:amd64 (1:0.4.28-1) over (1:0.4.27-1) ...
Preparing to unpack .../41-libwebpdemux2_0.6.0-4_amd64.deb ...
Unpacking libwebpdemux2:amd64 (0.6.0-4) over (0.6.0-3) ...
Preparing to unpack .../42-libwebpmux3_0.6.0-4_amd64.deb ...
Unpacking libwebpmux3:amd64 (0.6.0-4) over (0.6.0-3) ...
Preparing to unpack .../43-libwww-perl_6.29-1_all.deb ...
Unpacking libwww-perl (6.29-1) over (6.27-1) ...
Preparing to unpack .../44-metasploit-framework_4.16.19-0kali1_amd64.deb ...
Unpacking metasploit-framework (4.16.19-0kali1) over (4.16.18-0kali1) ...
Preparing to unpack .../45-python-cairo_1.15.4-2_amd64.deb ...
Unpacking python-cairo:amd64 (1.15.4-2) over (1.8.8-2.2) ...
Preparing to unpack .../46-python-construct_2.8.16-0.1_all.deb ...
Unpacking python-construct (2.8.16-0.1) over (2.8.8+really2.5.2-0.1) ...
Preparing to unpack .../47-python-cryptography_2.1.3-3_amd64.deb ...
Unpacking python-cryptography (2.1.3-3) over (1.9-1) ...
Preparing to unpack .../48-python-gdal_2.2.2+dfsg-2+b3_amd64.deb ...
Unpacking python-gdal (2.2.2+dfsg-2+b3) over (2.2.2+dfsg-1) ...
Preparing to unpack .../49-python-gi_3.26.1-1_amd64.deb ...
Unpacking python-gi (3.26.1-1) over (3.24.1-6) ...
Preparing to unpack .../50-python-gobject_3.26.1-1_all.deb ...
Unpacking python-gobject (3.26.1-1) over (3.24.1-6) ...
Preparing to unpack .../51-python3-cairo_1.15.4-2_amd64.deb ...
Unpacking python3-cairo:amd64 (1.15.4-2) over (1.10.0+dfsg-5+b3) ...
Preparing to unpack .../52-python3-construct_2.8.16-0.1_all.deb ...
Unpacking python3-construct (2.8.16-0.1) over (2.8.8+really2.5.2-0.1) ...
Preparing to unpack .../53-python3-cryptography_2.1.3-3_amd64.deb ...
Unpacking python3-cryptography (2.1.3-3) over (1.9-1) ...
Preparing to unpack .../54-python3-gi-cairo_3.26.1-1_amd64.deb ...
Unpacking python3-gi-cairo (3.26.1-1) over (3.24.1-6) ...
Preparing to unpack .../55-python3-gi_3.26.1-1_amd64.deb ...
Unpacking python3-gi (3.26.1-1) over (3.24.1-6) ...
Preparing to unpack .../56-python3-pyatspi_2.26.0+dfsg-1_all.deb ...
Unpacking python3-pyatspi (2.26.0+dfsg-1) over (2.24.0+dfsg-1) ...
Preparing to unpack .../57-vboot-kernel-utils_0~R63-10032.B-2_amd64.deb ...
Unpacking vboot-kernel-utils (0~R63-10032.B-2) over (0~R52-8350.B-2) ...
Preparing to unpack .../58-vboot-utils_0~R63-10032.B-2_amd64.deb ...
Unpacking vboot-utils (0~R63-10032.B-2) over (0~R52-8350.B-2) ...
Preparing to unpack .../59-xauth_1%3a1.0.10-1_amd64.deb ...
Unpacking xauth (1:1.0.10-1) over (1:1.0.9-1+b2) ...
Setting up python3-cryptography (2.1.3-3) ...
Setting up keyboard-configuration (1.171) ...
Setting up libwbclient0:amd64 (2:4.7.3+dfsg-1) ...
Setting up fontconfig-config (2.12.6-0.1) ...
Setting up libc6-dbg:amd64 (2.25-2) ...
Setting up libconfig-inifiles-perl (2.94-1) ...
Setting up mariadb-server-core-10.1 (1:10.1.29-6) ...
Setting up libdbd-sqlite3-perl (1.55~04-1) ...
Setting up exim4-config (4.89-11) ...
Processing triggers for mime-support (3.60) ...
Setting up flasm (1.62-10) ...
Setting up libfcgi0ldbl:amd64 (2.4.0-10) ...
Setting up iso-codes (3.77-1) ...
Setting up libopenmpt0:amd64 (0.3.3-1) ...
Setting up socat (1.7.3.2-2) ...
Setting up mariadb-client-core-10.1 (1:10.1.29-6) ...
Setting up multiarch-support (2.25-2) ...
Setting up libdevel-stacktrace-perl (2.0300-1) ...
Setting up libgcab-1.0-0:amd64 (0.7-5) ...
Setting up vboot-kernel-utils (0~R63-10032.B-2) ...
Setting up aircrack-ng (1:1.2-0~rc4-4) ...
Processing triggers for menu (2.1.47+b1) ...
Setting up samba-common (2:4.7.3+dfsg-1) ...
Setting up cgpt (0~R63-10032.B-2) ...
Setting up libmariadbclient18:amd64 (1:10.1.29-6) ...
Processing triggers for sgml-base (1.29) ...
Setting up python3-gi (3.26.1-1) ...
Setting up exim4-base (4.89-11) ...
Setting up python3-construct (2.8.16-0.1) ...
Setting up iproute2 (4.9.0-2.1) ...
Setting up python-jwt (1.5.3+ds1-1) ...
Setting up libdevel-partialdump-perl (0.20-1) ...
Setting up fonts-noto-mono (20171026-2) ...
Setting up xauth (1:1.0.10-1) ...
Setting up libarmadillo8 (1:8.200.2+dfsg-1) ...
Setting up gdal-data (2.2.2+dfsg-2) ...
Setting up libtevent0:amd64 (0.9.34-1) ...
Setting up nano (2.9.0-1) ...
Installing new version of config file /etc/nanorc ...
Setting up cabextract (1.6-1.1) ...
Setting up python-gi (3.26.1-1) ...
Processing triggers for libc-bin (2.25-2) ...
Setting up libaprutil1:amd64 (1.6.1-1) ...
Setting up libc-l10n (2.25-2) ...
Processing triggers for systemd (235-3) ...
Setting up python-cryptography (2.1.3-3) ...
Setting up python-cairo:amd64 (1.15.4-2) ...
Setting up vboot-utils (0~R63-10032.B-2) ...
Setting up man-db (2.7.6.1-4) ...
Updating database of manual pages ...
Setting up libfcgi-bin (2.4.0-10) ...
Setting up python3-cairo:amd64 (1.15.4-2) ...
Setting up libc-dev-bin (2.25-2) ...
Setting up exim4-daemon-light (4.89-11) ...
Setting up liborc-0.4-0:amd64 (1:0.4.28-1) ...
Setting up libkeyutils1:amd64 (1.5.9-9.2) ...
Setting up console-setup-linux (1.171) ...
Setting up metasploit-framework (4.16.19-0kali1) ...
Setting up libc6-dev:amd64 (2.25-2) ...
Setting up python-construct (2.8.16-0.1) ...
Setting up locales (2.25-2) ...
Installing new version of config file /etc/locale.alias ...
Generating locales (this might take a while)...
Generation complete.
Setting up libmysofa0:amd64 (0.6~dfsg0-2) ...
Setting up libxerces-c3.2:amd64 (3.2.0+debian-2) ...
Setting up mailutils-common (1:3.4-1) ...
Setting up libwww-perl (6.29-1) ...
Setting up libaprutil1-ldap:amd64 (1.6.1-1) ...
Setting up libwebp6:amd64 (0.6.0-4) ...
Setting up libmailutils5:amd64 (1:3.4-1) ...
Setting up console-setup (1.171) ...
Setting up libfontconfig1:amd64 (2.12.6-0.1) ...
Setting up mariadb-client-10.1 (1:10.1.29-6) ...
Setting up samba-libs:amd64 (2:4.7.3+dfsg-1) ...
Setting up samba-vfs-modules (2:4.7.3+dfsg-1) ...
Setting up python3-pyatspi (2.26.0+dfsg-1) ...
Setting up libaprutil1-dbd-sqlite3:amd64 (1.6.1-1) ...
Setting up python-gobject (3.26.1-1) ...
Setting up glusterfs-common (3.12.3-1) ...
Setting up libgdal20 (2.2.2+dfsg-2+b3) ...
Setting up python-samba (2:4.7.3+dfsg-1) ...
Setting up winexe (1.1~20140107-0kali6+b3) ...
Setting up python3-gi-cairo (3.26.1-1) ...
Setting up mailutils (1:3.4-1) ...
Setting up libsmbclient:amd64 (2:4.7.3+dfsg-1) ...
Setting up python-gdal (2.2.2+dfsg-2+b3) ...
Setting up smbclient (2:4.7.3+dfsg-1) ...
Setting up locales-all (2.25-2) ...
Setting up libwebpmux3:amd64 (0.6.0-4) ...
Setting up libwebpdemux2:amd64 (0.6.0-4) ...
Setting up samba-common-bin (2:4.7.3+dfsg-1) ...
Setting up mariadb-server-10.1 (1:10.1.29-6) ...
mariadb.service is a disabled or a static unit, not starting it.
Setting up gdal-bin (2.2.2+dfsg-2+b3) ...
Setting up samba-dsdb-modules (2:4.7.3+dfsg-1) ...
Setting up fontconfig (2.12.6-0.1) ...
Regenerating fonts cache... done.
Setting up samba (2:4.7.3+dfsg-1) ...
Samba is not being run as an AD Domain Controller.
Please ignore the following error about deb-systemd-helper not finding samba-ad-dc.service.
Processing triggers for libc-bin (2.25-2) ...
Processing triggers for menu (2.1.47+b1) ...
bash: ajpt: command not found
root@kali:~# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.2 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 5.2.2 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64 linux-headers-4.13.0-kali1-amd64
VirtualBox Guest Additions: Starting.
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
This system is currently not set up to build kernel modules.
Please install the Linux kernel "header" files matching the current kernel
for adding new hardware support to the system.
The distribution packages containing the headers are probably:
    linux-headers-amd64 linux-headers-4.13.0-kali1-amd64
root@kali:~# apt -get linux-headers-4.13.0-kali-amd64
E: Command line option 'g' [from -get] is not understood in combination with the other options.
root@kali:~# apt-get install linux-headers-4.13.0-kali-amd64
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package linux-headers-4.13.0-kali-amd64
E: Couldn't find any package by glob 'linux-headers-4.13.0-kali-amd64'
E: Couldn't find any package by regex 'linux-headers-4.13.0-kali-amd64'
root@kali:~# apt-get search linux-headers
E: Invalid operation search
root@kali:~# apt-cache search linux-headers
aufs-dkms - DKMS files to build and install aufs
linux-headers-4.13.0-kali1-all - All header files for Linux 4.13 (meta-package)
linux-headers-4.13.0-kali1-all-amd64 - All header files for Linux 4.13 (meta-package)
linux-headers-4.13.0-kali1-amd64 - Header files for Linux 4.13.0-kali1-amd64
linux-headers-4.13.0-kali1-common - Common header files for Linux 4.13.0-kali1
linux-headers-amd64 - Header files for Linux amd64 configuration (meta-package)
linux-libc-dev-alpha-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-arm64-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-armel-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-armhf-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-hppa-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-m68k-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mips-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mips64-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mips64el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mips64r6-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mips64r6el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsel-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsn32-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsn32el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsn32r6-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsn32r6el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsr6-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-mipsr6el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-powerpc-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-powerpcspe-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-ppc64-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-ppc64el-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-s390x-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-sh4-cross - Linux Kernel Headers for development (for cross-compiling)
linux-libc-dev-sparc64-cross - Linux Kernel Headers for development (for cross-compiling)
root@kali:~# apt-get install linux-headers-4.13.0-kali1-all-amd64
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages were automatically installed and are no longer required:
  libarmadillo7 libxerces-c3.1
Use 'apt autoremove' to remove them.
The following additional packages will be installed:
  cpp-6 gcc-6 linux-compiler-gcc-6-x86 linux-headers-4.13.0-kali1-amd64
  linux-headers-4.13.0-kali1-common linux-kbuild-4.13
Suggested packages:
  gcc-6-locales gcc-6-multilib gcc-6-doc libgcc1-dbg libgomp1-dbg libitm1-dbg
  libatomic1-dbg libasan3-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg
  libcilkrts5-dbg libmpx2-dbg libquadmath0-dbg
The following NEW packages will be installed:
  cpp-6 gcc-6 linux-compiler-gcc-6-x86 linux-headers-4.13.0-kali1-all-amd64
  linux-headers-4.13.0-kali1-amd64 linux-headers-4.13.0-kali1-common
  linux-kbuild-4.13
0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
Need to get 23.0 MB of archives.
After this operation, 101 MB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 cpp-6 amd64 6.4.0-10 [6,354 kB]
Get:2 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 gcc-6 amd64 6.4.0-10 [6,718 kB]
Get:3 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 linux-compiler-gcc-6-x86 amd64 4.13.13-1kali1 [496 kB]
Get:4 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 linux-headers-4.13.0-kali1-common all 4.13.13-1kali1 [7,756 kB]
Get:5 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 linux-kbuild-4.13 amd64 4.13.13-1kali1 [693 kB]
Get:6 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 linux-headers-4.13.0-kali1-amd64 amd64 4.13.13-1kali1 [463 kB]
Get:7 http://mirrors.ocf.berkeley.edu/kali kali-rolling/main amd64 linux-headers-4.13.0-kali1-all-amd64 amd64 4.13.13-1kali1 [496 kB]
Fetched 23.0 MB in 3s (6,388 kB/s)                        
Selecting previously unselected package cpp-6.
(Reading database ... 327473 files and directories currently installed.)
Preparing to unpack .../0-cpp-6_6.4.0-10_amd64.deb ...
Unpacking cpp-6 (6.4.0-10) ...
Selecting previously unselected package gcc-6.
Preparing to unpack .../1-gcc-6_6.4.0-10_amd64.deb ...
Unpacking gcc-6 (6.4.0-10) ...
Selecting previously unselected package linux-compiler-gcc-6-x86.
Preparing to unpack .../2-linux-compiler-gcc-6-x86_4.13.13-1kali1_amd64.deb ...
Unpacking linux-compiler-gcc-6-x86 (4.13.13-1kali1) ...
Selecting previously unselected package linux-headers-4.13.0-kali1-common.
Preparing to unpack .../3-linux-headers-4.13.0-kali1-common_4.13.13-1kali1_all.deb ...
Unpacking linux-headers-4.13.0-kali1-common (4.13.13-1kali1) ...
Selecting previously unselected package linux-kbuild-4.13.
Preparing to unpack .../4-linux-kbuild-4.13_4.13.13-1kali1_amd64.deb ...
Unpacking linux-kbuild-4.13 (4.13.13-1kali1) ...
Selecting previously unselected package linux-headers-4.13.0-kali1-amd64.
Preparing to unpack .../5-linux-headers-4.13.0-kali1-amd64_4.13.13-1kali1_amd64.deb ...
Unpacking linux-headers-4.13.0-kali1-amd64 (4.13.13-1kali1) ...
Selecting previously unselected package linux-headers-4.13.0-kali1-all-amd64.
Preparing to unpack .../6-linux-headers-4.13.0-kali1-all-amd64_4.13.13-1kali1_amd64.deb ...
Unpacking linux-headers-4.13.0-kali1-all-amd64 (4.13.13-1kali1) ...
Setting up linux-kbuild-4.13 (4.13.13-1kali1) ...
Setting up linux-headers-4.13.0-kali1-common (4.13.13-1kali1) ...
Processing triggers for man-db (2.7.6.1-4) ...
Setting up cpp-6 (6.4.0-10) ...
Setting up gcc-6 (6.4.0-10) ...
Setting up linux-compiler-gcc-6-x86 (4.13.13-1kali1) ...
Setting up linux-headers-4.13.0-kali1-amd64 (4.13.13-1kali1) ...
Setting up linux-headers-4.13.0-kali1-all-amd64 (4.13.13-1kali1) ...
root@kali:~# ./VBoxLinuxAdditions.run
Verifying archive integrity... All good.
Uncompressing VirtualBox 5.2.2 Guest Additions for Linux........
VirtualBox Guest Additions installer
Removing installed version 5.2.2 of VirtualBox Guest Additions...
Copying additional installer modules ...
Installing additional modules ...
VirtualBox Guest Additions: Building the VirtualBox Guest Additions kernel modules.
VirtualBox Guest Additions: Starting.
root@kali:~# 

Raspberry Pi: Fixing UK Keyboard Settings

Raspberry Pi: “Can’t open file to write”

Just got my first Raspberry Pi and was excited to get it booted up.  

First problem:  The keyboard is set to UK.
Solution: Edit the keyboard config file > etc\default\keyboard

Second problem: Can’t edit the keyboard file.
Solution: Start the GUI using the command line: sudo startx

Hope this helps!

Android Development Tips: Eclipse Error Failed to allocate memory: 8

Background

I not new to programming but I am new to developing for Android mobile platforms so I was excited to begin learning how to develop apps for Android.  As I’m just about to get the SDK to run my first “Hello World” app on a the device emulator I got and error: “Failed to allocate memory: 8”.

Editing the virtual Android device settings manually in Android Virtual Device Manager for the device I had named VirtNexus7.

The fix for “Failed to allocate memory: 8”?

On my Windows 7 PC I had to go to: C:\Users\[User Name]\.android\avd\VirtNexus7.avd\Config.ini Edit the config file with a text editor.

In this case I had to change “hw.ramSize=1024” to “hw.ramSize=1024MB”.

Also, to avoid such headaches, I would recommend that you only use the Android Virtual Device Manager’s built-in virtual device presets to build your virtual device.  I’ve never had a problem when I’ve used it create new virtual devices for testing.

Below are the settings from the Config.ini file that I had created manually for the emulated virtual Nexus 7 device:

avd.ini.encoding=ISO-8859-1
hw.dPad=no
hw.lcd.density=213
sdcard.size=1024M
hw.cpu.arch=arm
hw.device.hash=-2113695447
disk.dataPartition.size=300M
hw.gpu.enabled=yes
skin.path=800×1280
skin.dynamic=yes
hw.keyboard=yes
hw.cpu.model=cortex-a8
hw.ramSize=1024
hw.device.manufacturer=Google
hw.sdCard=yes
hw.mainKeys=no
hw.accelerometer=yes
skin.name=800×1280
abi.type=armeabi-v7a
hw.trackBall=no
hw.device.name=Nexus 7
hw.battery=yes
hw.sensors.proximity=no
image.sysdir.1=system-images\android-17\armeabi-v7a\
hw.sensors.orientation=yes
hw.audioInput=yes
hw.camera.front=none
hw.gps=yes
vm.heapSize=32


Web Application Security: Getting Started with Virtual Box and the Buggy Web App / OWASP’s BWAPP Project.

Today I’m writing about getting experience in web application security.

If you want to learn application security, you can find most of the tools for free online.  You will need to setup a virtual lab environment from which to learn because most of what you’re learning is illegal to do in the real world.
Here are a list of related videos to help you if you’re interested in getting started in the world of web application security.

1. Download and install Virtualbox. Go to YouTube and find a couple of videos on how to install and configure Virtualbox. You will need Virtualbox for creating and managing your virtual computers for your test environment. I’ve included a video on setting up the network configuration for your Virturalbox testing lab so your test computers can all communicate and hack each other.

Video: Configuring Network Settings for your Virtual Box test environment (NAT, Bridged and Internal Networking)

Video: How to Install Kali Linux in Virtual Box

2. Learn what tools IT security professionals use. In this case, learn about Kali Linux and Burpsuite.

Video: How to install Burp-Suite Free Edition

3. Learn about OWASP and the Buggy Web Application (BWAPP) project and get your free virtual PC images for testing.

You may need this video if you end up running sqlmap on your Windows PC. Needs Python 2.7 installed for it to work.

Video: How to Install SQLMap on Windows OS

Download the bee-box virtual machine (VM) image file from SourceForge.net. 

Video: Web Application PenTest w/ the Buggy Web App Project (BWAPP)

4. Find as many web application security videos and courses as you can and try out their techniques.

Connect to SQL Database and Output data to CSV File from Table using Powershell

This is sample Powershell code for connecting to SQL Database and outputting table data to a CSV file.

Code below was tested by me.

Reference: 
https://stackoverflow.com/questions/25682703/connect-to-sql-server-database-from-powershell

Powershell Code to Connect to SQL Server & Output to CSV File

$SQLServer = "aaaa.database.windows.net"
$SQLDBName = "Database"
$uid ="john"
$pwd = "pwd123"
$SqlQuery = "SELECT * from table;"
$SqlConnection = New-Object System.Data.SqlClient.SqlConnection
$SqlConnection.ConnectionString = "Server = $SQLServer; Database = $SQLDBName; Integrated Security = True; User ID = $uid; Password = $pwd;"
$SqlCmd = New-Object System.Data.SqlClient.SqlCommand
$SqlCmd.CommandText = $SqlQuery
$SqlCmd.Connection = $SqlConnection
$SqlAdapter = New-Object System.Data.SqlClient.SqlDataAdapter
$SqlAdapter.SelectCommand = $SqlCmd
$DataSet = New-Object System.Data.DataSet
$SqlAdapter.Fill($DataSet)

$DataSet.Tables[0] | out-file "C:\Scripts\xxxx.csv"

3 Ways to Reverse a String using JavaScript

3 JavaScript Code Examples for Reversing a String

function reverseString1(str) {    
  //This way uses an array to reverse the string
  var strArr = str.split("");
  var reverseStringArray = strArr.reverse();
  var reversedString = reverseStringArray.join("");
  return reversedString;
}

reverseString1("hello")

//*******************************************
function reverseString2(str) {
  //Single Line does it all
  return str.split("").reverse().join();
}

reverseString2("hello")


//*******************************************
function reverseString3(str) {    
  var final = "";
  for (var i = str.length - 1; i >= 0; i--) {
   final += str[i]
  }
  return final;
}

reverseString3("hello")

MVC 5 Attribute Routing Made Only Slightly Easier to Understand

MVC 5 Attribute Routing

I’m studying the Microsoft MVC 5 Framework.  As part of my study practice, I force myself to write an article on the subject of whatever module I happen to be on.  This helps me cement the idea in my own head while sharing my perspective on the lesson.
Hope this helps someone…..anyone. 😉
In the Model View Controller (MVC) framework, Routes determine which controller and method to execute for a specific URL.
A slightly easier way to state this is…  routes tie specific set of code to website URL.

New in MVC 5, Microsoft introduced a cleaner way to do custom routes
This is an example of the old way to do routes, you might see it somewhere on a project.
RouteConfig.cs
routes.MapRoute(
    “MoviesByReleaseDate”,
    “movies/released/{year}/{month}”,
    new { controller = “Movies”, action=”ByReleaseDate”},
    new { year = @”2017|2018″, month = @”\d{2}” });
Controller code is not connected to the RouteConfig so if action name change is made in either one but not both, we have a big problem.
Instead of creating a messy RouteConfig file with lots of custom routes in it,  we can now add custom routes by adding an attribute to the corresponding action.
To enable attribute routing we have to add a line to the RouteConfig file.
// EnableAttribute Routing 
routes.MapMvcAttributeRoutes();

The entire file with new and old code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace Vidly
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute(“{resource}.axd/{*pathInfo}”);

            // Enable Attribute Routing 
            routes.MapMvcAttributeRoutes();

            routes.MapRoute(
                “MoviesByReleaseDate”,
                “movies/released/{year}/{month}”,
                new { controller = “Movies”, action=”ByReleaseDate”},
                new { year = @”2017|2018″, month = @”\d{2}” });

           routes.MapRoute(
                name: “Default”,
                url: “{controller}/{action}/{id}”,
                defaults: new { controller = “Home”, action = “Index”, id = UrlParameter.Optional }
            );
        }
    }
}
Attribute Routes are added to the controller. In this case the MoviesController.cs file.
Example Attribute Route:
//Attribute Routes
[Route(“moives/released/{year}/{month:regex(\\d{2}):range(1, 12)}”)]
public ActionResult ByReleaseYear(int year, int month)
{
    return Content(year + “/” + month);

}

In the example above, the month has a regex applied to it to match a pattern.
Will accept  2 digits  \\d{2} and between a range of 1 to 12
There are other constraints we can apply that are supported by the framework

  • Min
  • Max
  • Minlength
  • Maxlength
  • Int
  • Float
  • Guid

Google the term, “ASP.NET MVC Attribute Route Constraints” and you’ll find lots of online resources to help you.

Adventures in Web Development: How to Build a Simple Cloud Hosted Web Server using Ubuntu and GOLang

Sometimes you want to learn something new but you don’t know where to start.

I’ve been working in the Microsoft world & IIS stack so long, I forget how many other web stacks are out there and how many have past us by. OMG!

I wanted to challenge myself to learn how to setup a Cloud hosted, Linux based, web server to host a website. 

Where do I start? Well, I just started looking stuff up and decided to blog my learning process along the way.

I hope this helps somebody else with the same desire to learn this topic as quickly and painlessly as possible.

Here we go…. 

First off, I was not sure what programming language I wanted to use.

This project will use a Linode cloud hosted server and Ubuntu as our operating system.

I started off thinking about a web server using a LAMP stack. I thought it would be OK to consider other options too.

I hate to assume people know tech jargon so I will stop and explain things as best I can along the way. My intent is to inform, not to annoy.

That being said, what is a stack? 

A stack is just a term used to describe a collection of all the moving parts required to have a modern functional website. Includes server operating system, web server software, a database and a framework/language.

When we hear the term, “Full Stack Developer”, someone is talking about a developer with experience in all of the aspects of the stack.
For example,a LAMP stack is Linux OS + Apache Web Server + MySQL Database + PHP language/framework. 

Other server options are replacing Apache with NginX (Pronounced engine x) or building our own using the GO programming language (GoLang). 

I started off with Apache then went to NginX.

I got NginX to work as a server so I’m leaving that information in this article at the bottom.

The rest of this article is focused on trying to get a very basic Linux Ubuntu + GOLang stack up and running.  No database.

If you and I can get a server up and running, I’m going to celebrate then come back later and add the database.

Let’s do this!

What you need before you start:
If you’re using Windows to connect to your Linux server, use Putty to connect via SSH. Details are in the video. Get Putty here.

SSH is a client/server program that enables secure connection to the SSH server on a remote machine. The SSH command is used for remote execution of login, file transfer between machines and executing other remote commands.
Step 1. Go to https://www.Linode.com and create an account. You will need a credit card. A web server can be run on Linode for about .50 a day so learning can be inexpensive. You can delete the server anytime and just rebuild it in about 5 minutes.

Once you have your account, watch and follow along with this video.

Video: Setting up You Linode Ubuntu Server

Command line commands:
– sudo apt-get update
– sudo apt-get upgrade
– nano /etc/hosts

2. Once, You’ve installed your server. You should take some time to secure it. Watch this video and follow along.

Video: Securing Your Linode Server

Command line commands:
– adduser example_user
– adduser example_user sudo
– ssh-keygen -b 4096 

Installing GO and Use It to Setup a Super Simple Web Server

I tried several times and failed to get Apache running quickly so I moved on to NginX and GOLang since this was supposed to be easy.
Use the two videos above to walk you thru building your server operating system and securing it.  
Then go to https://www.linode.com/docs/development/go/install-go-on-ubuntu/ to get the instruction on how to install GO on Ubuntu.
Then watch and follow along with this video to see how to write your own web server and web application using GO.  It has all the moving parts built in, you won’t believe how easy it is. Give it a try!

It may be working when you click. Here is a simple page up and running.

http://74.207.244.122:8000/about/

 I 

**** Learning Note ****

This is where I’ll stop and relate some Microsoft stack items to what we just did.

When we build sites on the Microsoft stack, we already have a server, Internet Information Services (IIS), it runs on Windows as a background service.  If we’re having issues or make an update to the web.config file, we restart the IIS service.

So we just built a super simple IIS web server using a GO net/http library but we have not learned how to run in in the background as a service on Ubuntu. 

**** Learning Note ****

Once you get your simple server working, you will realize it is only running when you run it at the command line.  If you exit, your server stops.

We can cheat a bit by using the Linux command nohup which is short for “No Hangups”.

We don’t run nohup by itself, it is a supplemental command that tells Linux not to stop the main command, even if the user logs out. 

I won’t cover nohup in detail here I recommend this resource for learning more about the nohup command

We can fool our friends in to thinking we’ve built our server by launching our GO app using nohup but this is not the right way to do this. It needs to be running as a background service (daemon).

You will want to learn how to make your GO server run in the background all the time and restart automatically if the server restarts.

I was stuck on this part for a day or so but thank goodness I know the founder of chapbook.com, who is using GOLang so I hit them up and was  pointed to the link below.

https://fabianlee.org/2017/05/21/golang-running-a-go-binary-as-a-systemd-service-on-ubuntu-16-04/

This link is a good example of how to setup a background service called a daemon in Linux terms. 

We’ll do the example on the site above as an exercise to get some daemon code working before we move on to the next task of making our own server code run as a daemon.

It took me a while to get it working but I did. Took longer than I expected as I’m not used to doing everything remotely via SSH and with the nano text editor.  Feels like bootcamp.

Here is a screenshot of my successful attempt.

Installing NginX Web Server on Ubuntu

This is an older part of blog where I was going to go the NginX route and had a simple working server up. I’ll come back to update this later.

I started trying to do this using a LAMP stack but had too many problems getting the Apache2 web server to work and was getting tired and frustrated.

After staying up until 0230 failing to get the Apache2 server installed on Ubuntu, exhaustion was setting in and I was feeling the need a confidence boost so I started my Linode server over from scratch and tried this video on getting NginX web server installed and had success. Use this video first, it was much easier.

Video: Setting up a Linode Server and Hosting a Website using NginX Web Server

As next step, I followed these instructions to install the GO language and get a hello world app to work.

Next we figure out how to use GO to handle business logic on the web server.

How to Do a Basic 802.11 Wireless DeAuth Attack using Kali Linux to Disrupt Wireless Device Connections

I’ve been working in IT now for over 20 years and spend a percentage of my professional development time on InfoSec and IT Security related items as I feel its important to know how to use technology but also how criminals use the same technology to do bad things.

This article will be focusing on how to do a very basic wireless “DeAuth” Attack.

You can check out the Wikipedia description of a DeAuth Attack.
A “DeAuth” attack is considered a denial of service attack.  Service will be denied to WiFi devices connected and listening to messages from a specific SSID where a “man in the middle” spoofs the SSID and transmits a message to all devices to disconnect from the WiFi network.

DeAuth are often part of a larger attack like those used to force clients to connect to an “Evil twin access point” where network packets can be captured.

Some WiFi password attacks on WPA & WPA2 use brute force techniques along with DeAuth attacks to force a device offline then sniff out the WAP 4-way handshake when it reconnects.

Other password attacks are phishing in style as they also start with a DeAuth attack but then use a man-in-the-middle to collect passwords supplied by an unwitting user. 

So how is this done?

First, the bad guy needs look around for a target.

Next, they turn their WiFi receiver in to a WiFi Transmitter.  With the WiFi transmitter, they spoof the targets wireless SSID in broadcast mode. 

Attacker sends out a broadcast using the spoofed SSID and transmits a “DeAuth” frame telling all the devices connected to the spoofed WiFi SSID to disconnect immediately.

**** IT IS ILLEGAL TO HACK OUTSIDE YOUR SANDBOX ****
**** DON’T DO IT & DON’T TALK ABOUT WHAT YOU DO ****

**** THIS INFORMATION IS FOR EDUCATIONAL PURPOSES ONLY ****

The information, I share below was gathered from publicly available resources and is intended as important and educational in the field of InfoSec.

I won’t cover what Kali Linux is or how to install it. I will provide some helpful links below.

This article will focus on how to use the tools in Kali Linux to go through the process of target selection and spoofing of WiFi SSID in order to launch a “DeAuth” attack denying connection to a specific WiFi signal for a period of time.

Razor Views in C# MVC – C# Code and HTML Coexisting Together

Razor Views in C# MVC

How C# Code and HTML Coexist Together

Tonight’s study topic is Razor Views in C# MVC 5.

Here are two good resources for this topic.

Paid access to Mosh Hamedani’s Complete ASP.net MVC 5 Course. This is covered in video 16 of his course.

Also helpful, was this YouTube video that is part of a larger MVC tutorial that I really like and refer to often

VIDEO: Razor View Syntax

What are Razor Views and What Do They Do?

Specific to C# MVC, Razor Views are code snippets with special syntax made up of C# code and HTML/CSS. The C# logic can interact with and output HTML and CSS elements/attributes dynamically.

With Razor Views, we use the @ symbol to switch between C# code and HTML. 

A simple example of printing numbers from 1 to 10 using Razor.

@for {int i = 1; i <=10; i++)
{
 <b>@i</b>
}

The Output would be: 1 2 3 4 5 6 7 8 9 10
Inside the brackets, Razor sees the <b>@i</b> and knows to render the C# variable i when its proceeded with an @ character then Razor sees the angle brackets and switches back in to HTML parsing mode.

If we didn’t want to use HTML we could change the <b> tag to <text> and output would just be text without the HTML.

The most important thing to understand and remember about Razor Views is the context switching in the parser is based on detection of specific characters.

@ character starts the C# parser but HTML & text won’t parse until Razor see a tag wrapped in angle brackets. We are just switching back and forth between to parsing modes. Make sense?

The loop is C# code but the output is HTML.
In ASP Classic and .Net, the Response Object would handle the HTML output to the browser from inside the loop.

Here are two more examples to help us cement the idea in our brains.

1. A simple date:
@{
   int day = 24;
   int month = 08;
   int year = 2020;
}
Date is @day-@month-@year
Output = Date is 24-08-2020


2. Loop thru images in folder
@for (int i = 1; i <= 5; i++)
{
  <img src="~/Images/@(i).png" />
}

Notice how in the sample above, we put the variable inside the parenthesis. Why, when we didn’t do this for the date example above?

Because if we don’t C# will try and read i. and an object with a property so we have to wrap it in parenthesis. This tell the Razor syntax that we are just trying to concatenate the values.

Razor View Code Blocks

In Razor Views we define code blocks using @{}.

@{
 int SumOfEvenNumbers = 0;
 int SumOfOddNumbers = 0;

 for(int i=1; i<=10; i++)
 {
  if(i %2==0)
  {
    SumOfEvenNumbers = SumOfEvenNumber + 1;
  }
  else
  {
    SumOfOddNumbers = SumOfOddNumbers + 1;
  }
 }
}

<h3>Sum of Even Numbers = @SumOfEvenNumbers</h3>
<h3>Sum of Odd Numbers = @SumOfOddNumbers</h3>

Razor View Comments

Razor View multi-line code comments are very similar to JavaScript and CSS that use the asterisk and forward slash, /*  */, to wrap comments.

Razor View multi-line comments use ampersand and asterisk in same way. @* to start a multi-line comment and *@ to end it. (See code example below)

What’s in the Razor View Example Below?

H2 tag class name is dynamically selected based on  logic, if Model.Customers.Count is greater than 5 then change the CSS class of the H2 element to “popular”.

Also, inside the <ul> tags, Razor View code loops through the list of customers and outputs the name.  

Sample C# Razor Code Example:

@model  Vidly.ViewModels.RandomMovieViewModel
@{
    ViewBag.Title = "Random";
    Layout = "~/Views/Shared/_Layout.cshtml";
}
 
@*
    This is a comment
    on multiple lines
*@
 
@{
    var className = Model.Customers.Count > 5? "popular": null;
}
 
<h2 class="@className">@Model.Movie.Name</h2>
 
@if (Model.Customers.Count == 0)
{
    <text>No one has rented the movie before.</text>
}
 
else 
{
    <ul>
        @foreach (var cusomter in Model.Customers)
        {
            <li>@cusomter.Name</li>
        }
     </ul>
}