Linux software to randomize PC hostname & wireless MAC for privacyat hotspots

Discussion in 'Computer Security' started by Y Knot, Sep 24, 2010.

  1. Y Knot

    Y Knot Guest

    If I understand Jeff L. correctly, hotspots often log your hostname and
    wirelss car MAC address; so I wish to automatically change my wireless
    card MAC and laptop PC hostname upon every reboot.

    On Windows, I can change these things manually but there are plenty of
    freeware packages which pseudo-randomize the hostname (based on a lookup
    table) and wireless MAC address for added privacy at hotspots upon every
    reboot. These work great!

    However, on Linux, while I can change these things manually, I have not
    yet found software that does so automatically upon every reboot.

    Here's how I change the hostname on Linux manually:
    $ sudo vi /etc/hosts

    Change the contents of /etc/hosts from:
    127.0.1.1 ubuntu ubuntu

    Change the contents of /etc/hosts to:
    # 127.0.1.1 ubuntu ubuntu
    127.0.0.1 foo foo

    $ sudo echo foo > /etc/hostname
    $ sudo reboot

    And, here's how I change the MAC address on Linux manually:
    $ ifconfig -a | grep HWaddr
    $ sudo ifconfig wlan0 down hw ether DE:AD:BE:EF:CA:FE
    $ sudo ifconfig wlan0 up

    The question is where can I find software that will perform that task of
    changing the wireless card MAC address and PC hostname upon every reboot?
    Y Knot, Sep 24, 2010
    #1
    1. Advertising

  2. Y Knot

    Nomen Nescio Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    > If I understand Jeff L. correctly, hotspots often log your hostname and
    > wirelss car MAC address; so I wish to automatically change my wireless
    > card MAC and laptop PC hostname upon every reboot.


    > On Windows, I can change these things manually but there are plenty of
    > freeware packages which pseudo-randomize the hostname (based on a lookup
    > table) and wireless MAC address for added privacy at hotspots upon every
    > reboot. These work great!


    > However, on Linux, while I can change these things manually, I have not
    > yet found software that does so automatically upon every reboot.


    > Here's how I change the hostname on Linux manually:
    > $ sudo vi /etc/hosts


    > Change the contents of /etc/hosts from:
    > 127.0.1.1 ubuntu ubuntu


    > Change the contents of /etc/hosts to:
    > # 127.0.1.1 ubuntu ubuntu
    > 127.0.0.1 foo foo


    > $ sudo echo foo > /etc/hostname
    > $ sudo reboot


    > And, here's how I change the MAC address on Linux manually:
    > $ ifconfig -a | grep HWaddr
    > $ sudo ifconfig wlan0 down hw ether DE:AD:BE:EF:CA:FE
    > $ sudo ifconfig wlan0 up


    > The question is where can I find software that will perform that task of
    > changing the wireless card MAC address and PC hostname upon every reboot?


    I know nothing about Linux, but can't you put your code into a
    bat file and execute upon every boot?
    Nomen Nescio, Sep 24, 2010
    #2
    1. Advertising

  3. Y Knot

    Bit Twister Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Fri, 24 Sep 2010 16:59:30 +0000 (UTC), Y Knot wrote:
    >
    > However, on Linux, while I can change these things manually, I have not
    > yet found software that does so automatically upon every reboot.
    >


    For about 99.99% of the time, whatever you can do manually, you can
    put the commands in a script to do the same thing.


    > The question is where can I find software that will perform that task of
    > changing the wireless card MAC address and PC hostname upon every reboot?


    If you look in /etc/init.d you will see several scripts which execute
    during system startup/shutdown.

    If you look in /etc you will see several directories which contain
    links back to /etc/init.d scripts. Do a
    ls /etc/rc?.d

    Now look in a directory, with
    ls -l /etc/rc2.d/*
    Those S* links are the order they
    execute during Startup and the K* are the links executed in that order
    during kill/shutdown.

    If you were to do the command
    runlevel
    you would see what level you are running and can look in that
    directory to see what executes when.

    If you do a
    $ runlevel
    N 2
    the your runlevel is 2. So, do a
    ls -l /etc/rc2.d/*

    I your case you might try creating a /etc/init.d/rnd_hostname
    then create a /etc/rc2.d/S05rnd_hostname link pointing to
    /etc/init.d/rnd_hostname.

    Next boot, S05rnd_hostname would run your script to change host name.

    Going to guess you are running ubuntu. It runs dhclient which gets
    your ip address and whatnot to connect to the internet.

    Doing a man dhclient eventually suggests doing a
    man dhclient_script
    which can lead to the fact that you can create a
    /etc/dhcp3/dhclient-exit-hooks script. That is where I would try to
    put code to munge your MAC address.

    You might want to bookmark this url
    http://tldp.org/LDP/abs/html/index.html

    You could create /etc/dhcp3/dhclient-exit-hooks with
    echo $@ > /tmp/hooks
    env >> /tmp/hooks

    Set execute permission with
    chmod +x /etc/dhcp3/dhclient-exit-hooks

    After booting, look at /tmp/hooks to see what information is available
    for your code.

    Now, delete /tmp/hooks and restart the network and see what you have.

    rm /tmp/hooks
    service network-manager restart
    cat /tmp/hooks

    All the above needs to done from a root terminal. To get to a root terminal:

    sudo -i

    when through with root terminal, enter the command exit or do a control d

    --
    The warranty and liability expired as you read this message.
    If the above breaks your system, it's yours and you keep both pieces.
    Practice safe computing. Backup the file before you change it.
    Do a, man command_here or cat command_here, before using it.
    Bit Twister, Sep 24, 2010
    #3
  4. Y Knot

    Y Knot Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Fri, 24 Sep 2010 19:44:15 +0200, Nomen Nescio wrote:
    > I know nothing about Linux, but can't you put your code into a
    > bat file and execute upon every boot?


    Probably.

    The goal is to put it in the 'startup' directory (/etc/init.d/) somehow.

    I did find a good way to 'randomize' the MAC address manually:
    `echo $RANDOM$RANDOM | md5sum | sed -r 's/(..)/\1:/g; s/^(.{17}).*$/\1/;'`

    And, I did find a way to 'randomize' the hostname based on a random
    selection out of the standard Linux dictionary of words at /usr/share/
    dict/words

    The question now is how to tie all that together so that the random wlan0
    mac and the random hostname are assigned upon reboot of the Ubuntu 10.04
    laptop.
    Y Knot, Sep 25, 2010
    #4
  5. Y Knot

    Bit Twister Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Sat, 25 Sep 2010 01:29:17 +0000 (UTC), Y Knot wrote:

    > The goal is to put it in the 'startup' directory (/etc/init.d/) somehow.
    >
    > The question now is how to tie all that together so that the random wlan0
    > mac and the random hostname are assigned upon reboot of the Ubuntu 10.04
    > laptop.


    As an FYI: I took a quick peek through Ubuntu's init.d/ scripts.
    I will suggest you change hostname on shutdown since I did not see
    when hostname set during boot/start.

    Put you code in rnd_hostname script I suggested and create a
    Kxxrnd_hostname link in /etc/rcx.d

    Suggest taking one of the scripts in init.d, copy to rnd_hostname and
    start playing around.

    Better yet, install virtualbox, create a guest virtual machine, take a
    snapshot and start playing around. That way if you screw it up, you
    can delete current snapshot, create a new on, and try again.

    Changing hostname on the fly can cause you to lose gui desktop manager.

    You might want to http://groups.google.com/groups/search to check out
    init scripts.

    http://groups.google.com/groups/sea...p=*ubuntu*&as_usubject=&as_uauthors=&safe=off

    alt.computer.security would be off topic now that you have a direction.

    comp.unix.shell for scripting questions.
    alt.os.linux.ubuntu for specific ubuntu questions.
    ubuntu has a forum where you might get some help.
    Bit Twister, Sep 25, 2010
    #5
  6. Y Knot

    alexd Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    Meanwhile, at the alt.internet.wireless Job Justification Hearings, Bit
    Twister chose the tried and tested strategy of:

    > As an FYI: I took a quick peek through Ubuntu's init.d/ scripts.
    > I will suggest you change hostname on shutdown since I did not see
    > when hostname set during boot/start.


    I've got /etc/init.d/hostname on my 10.04 laptop, although it's an Upstart
    skeleton script so I can't actually see what it does.

    --
    <http://ale.cx/> (AIM:troffasky) ()
    09:32:51 up 1 day, 15:52, 3 users, load average: 0.00, 0.02, 0.04
    Qua illic est accuso, illic est a vindicatum
    alexd, Sep 25, 2010
    #6
  7. Y Knot

    alexd Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    Meanwhile, at the alt.internet.wireless Job Justification Hearings, Y Knot
    chose the tried and tested strategy of:

    > And, I did find a way to 'randomize' the hostname based on a random
    > selection out of the standard Linux dictionary of words at /usr/share/
    > dict/words


    Wouldn't it be funny if you got busted because your laptop had assigned
    itself a hostname of 'pederast' [or similar].

    --
    <http://ale.cx/> (AIM:troffasky) ()
    09:39:31 up 1 day, 15:59, 3 users, load average: 0.04, 0.01, 0.01
    Qua illic est accuso, illic est a vindicatum
    alexd, Sep 25, 2010
    #7
  8. Y Knot

    Shadow Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    On Fri, 24 Sep 2010 16:59:30 +0000 (UTC), Y Knot <>
    wrote:
    >However, on Linux, while I can change these things manually, I have not
    >yet found software that does so automatically upon every reboot.

    http://www.alobbs.com/macchanger/
    Been around for ages. Packages available for ubuntu, debian,
    etc etc
    Put it in rc.local. But why on boot ?
    Just link to a script. Don't forget the gksu, or whatever, you
    need to be root.
    []'s
    Shadow, Sep 25, 2010
    #8
  9. Y Knot

    Y Knot Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Sat, 25 Sep 2010 11:03:42 -0300, Shadow wrote:

    > http://www.alobbs.com/macchanger/
    > Been around for ages.
    > But why on boot


    I already tested MacChanger which didn't add ANY value whatsoever.
    It's EXACTLY the same number of steps with MacChanger than without
    MacChanger (so what's the point of the program anyway?).

    With MacChanger, the steps are:
    1. sudo macchanger -s wlan0
    2. sudo /etc/init.d/networking stop
    3. sudo macchanger --another wlan0
    4. sudo /etc/init.d/networking start

    Without MacChanger, the steps are:
    1. sudo /etc/init.d/networking stop
    2. sudo ifconfig wlan0 down hw ether DE:AD:BE:EF:CA:FE
    3. sudo ifconfig wlan0 up
    4. sudo /etc/init.d/networking start

    The hostname can ONLY be changed (AFAIK) upon reboot anyway, so you may
    as well do the MAC at the same time.

    This is such a basic need that I'm sure a LOT of people have done it
    already. The trick is to find them! :)

    I'm working on adapting this script:
    http://cryptoanarchy.org/wiki/Random_hostname_on_boot
    Y Knot, Sep 27, 2010
    #9
  10. Y Knot

    Shadow Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    On Mon, 27 Sep 2010 05:40:07 +0000 (UTC), Y Knot <>
    wrote:

    >On Sat, 25 Sep 2010 11:03:42 -0300, Shadow wrote:
    >
    >> http://www.alobbs.com/macchanger/
    >> Been around for ages.
    >> But why on boot

    >
    >I already tested MacChanger which didn't add ANY value whatsoever.
    >It's EXACTLY the same number of steps with MacChanger than without
    >MacChanger (so what's the point of the program anyway?).
    >
    >With MacChanger, the steps are:
    >1. sudo macchanger -s wlan0
    >2. sudo /etc/init.d/networking stop
    >3. sudo macchanger --another wlan0
    >4. sudo /etc/init.d/networking start

    is line one necessary ?
    /sbin/ifconfig wlan0 down
    /sbin/(or wherever)/macchanger -A wlan0
    /sbin/ifconfig wlan0 up
    >
    >Without MacChanger, the steps are:
    >1. sudo /etc/init.d/networking stop
    >2. sudo ifconfig wlan0 down hw ether DE:AD:BE:EF:CA:FE

    And that gives you a random MAC ?
    DeadBeefCafe ? HELP!!! ALERT!! A HACKER!!!!
    macchanger -A gives you a random MAC from a KNOWN
    manufacturer.
    and macchanger can be easily scripted.
    This second example does not give you a random MAC.
    >3. sudo ifconfig wlan0 up
    >4. sudo /etc/init.d/networking start
    >
    >The hostname can ONLY be changed (AFAIK) upon reboot anyway, so you may
    >as well do the MAC at the same time.
    >
    >This is such a basic need that I'm sure a LOT of people have done it
    >already. The trick is to find them! :)
    >
    >I'm working on adapting this script:
    >http://cryptoanarchy.org/wiki/Random_hostname_on_boot
    Shadow, Sep 27, 2010
    #10
  11. Y Knot

    Chris Davies Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    Bit Twister <> wrote:
    > which can lead to the fact that you can create a
    > /etc/dhcp3/dhclient-exit-hooks script. That is where I would try to
    > put code to munge your MAC address.


    No - this is too late: by then you've posted your MAC and received a
    DHCP response. If you're going to tweak your MAC it should be done no
    later than by a file in /etc/network/if-pre-up.d/ or a pre-up stanza
    in /etc/network/interfaces.

    Re setting the hostname, on my (Debian) box it's handled as part
    of /etc/init.d/hostname.sh, which is called on system bootup as
    /etc/rcS.d/S02hostname.sh. Obviously this may be different for Ubuntu
    (I found the relevant script by running this command: grep -l hostname
    /etc/init.d/* )

    Chris
    Chris Davies, Oct 1, 2010
    #11
  12. Y Knot

    Chris Davies Guest

    Re: Linux software to randomize PC hostname & wireless MAC for privacy at hotspots

    Y Knot <> wrote:
    > The hostname can ONLY be changed (AFAIK) upon reboot anyway [...]


    Why on earth should this be the case?
    Chris
    Chris Davies, Oct 1, 2010
    #12
  13. Y Knot

    Bit Twister Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Fri, 01 Oct 2010 20:36:41 +0100, Chris Davies wrote:
    > Bit Twister <> wrote:
    >> which can lead to the fact that you can create a
    >> /etc/dhcp3/dhclient-exit-hooks script. That is where I would try to
    >> put code to munge your MAC address.

    >
    > No - this is too late: by then you've posted your MAC and received a
    > DHCP response. If you're going to tweak your MAC it should be done no
    > later than by a file in /etc/network/if-pre-up.d/ or a pre-up stanza
    > in /etc/network/interfaces.
    >
    > Re setting the hostname, on my (Debian) box it's handled as part
    > of /etc/init.d/hostname.sh, which is called on system bootup as
    > /etc/rcS.d/S02hostname.sh. Obviously this may be different for Ubuntu
    > (I found the relevant script by running this command: grep -l hostname
    > /etc/init.d/* )


    Yep, ubuntu hostname was not called in /etc/rcS.d/ or /etc/rc2.d/

    I hear where you are coming from about dhclient-exit-hooks but you
    have to decide if you want mac/hostname changed on startup, shutdown,
    or each network restart.

    I suggest setting them during shutdown. Major reason would be so next
    boot would be pretty clean. You do not want to change host name after
    some service/daemon has started with old name. Examples; postfix,
    sendmail, leafnode, dovecot,..
    Bit Twister, Oct 1, 2010
    #13
  14. Y Knot

    Bit Twister Guest

    Re: Linux software to randomize PC hostname & wireless MAC forprivacy at hotspots

    On Mon, 27 Sep 2010 05:40:07 +0000 (UTC), Y Knot wrote:

    > The hostname can ONLY be changed (AFAIK) upon reboot anyway, so you may


    No, you can change it anytime you like, BUT you may lose your gui
    desktop access because of name change and you would need to restart
    any service/daemons which use the node name.
    Examples: mysqld, postfix, sendmail, leafnode, dovecot,..
    Bit Twister, Oct 1, 2010
    #14
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Mark

    Old hostname 'sticking'

    Mark, May 26, 2004, in forum: Cisco
    Replies:
    1
    Views:
    475
    AnyBody43
    May 26, 2004
  2. jspr
    Replies:
    2
    Views:
    880
  3. CSS11501 hostname

    , Mar 24, 2005, in forum: Cisco
    Replies:
    1
    Views:
    1,259
  4. XP
    Replies:
    0
    Views:
    476
  5. Giuen
    Replies:
    0
    Views:
    725
    Giuen
    Sep 12, 2008
Loading...

Share This Page