Hack and Disable The iSight Camera

Written by Jeff Browning.

This article will walk you through the steps of capturing images from an iSight camera remotely, as well as disabling it.

It’s a question that a great many people are asking, and for a good reason: can people control my iSight camera remotely? It’s a scary answer:

Yes.

You can log into another Mac with a built-in iSight camera and take pictures remotely. But here’s the good news: you can also disable the iSight camera on the software end, rather than simply taping it up. First, let’s start with capturing pictures remotely, then move on to disabling the camera.

Requirements

    • An SSH Client (Terminal])
    • A Target Mac

Take Pictures Via SSH

To get started capturing images remotely, you’ll need to download a utility called iSightCapture and install it.

Download iSightCapture from Applausible.

Installation is simple. Open up the downloaded .dmg file, and drag the isightcapture file into a folder on your hard drive that you can access via Terminal. Once that’s in place, fire up Terminal.

To use iSightCapture, you would then log into the machine using SSH via following code (if you’re running this on your own machine, you’re all set!):

ssh user@computer

Replace user with the username you are logging in as, and computer with the computer name or IP address.

You’ll then be prompted for a password. Enter the password and hit return (Terminal will make it appear as if you are not typing anything when you’re entering the password, but trust me, you are), and you’ll be logged in.

To take pictures, the commands are very basic. First, you need to navigate via the cd command into the directory that you installed iSightCapture. For example, you have the file stored on your desktop, you would enter (replacing YourName with your username):

cd /Users/YourName/Desktop

./isightcapture image.jpg

Will output a 640×480 image in JPEG format.

./isightcapture -w 320 -h 240 -t png image.png

Will output a scaled 320×240 image in PNG format

Advanced Options

Thankfully, if you’re looking to take certain sized pictures in a certain format, you’re in luck! iSightCapture uses a formula, that includes variables that you can edit in the command. The formula for all iSightCapture commands goes as such:

isightcapture [-v] [-d] [-n frame-no] [-w width] [-h height] [-t jpg|png|tiff|bmp] output-filename

The key to each of these variable is listed below:

-v output version information and exit

-d enable debugging messages. Off by default

-n capture nth-frame

-w output file pixel width. Defaults to 640 pixels.

-h output file pixel height. Defaults to 480 pixels.

-t output format – one of jpg, png, tiff or bmp. Defaults to JPEG.

Disable iSight

Are you constantly seeing the green light on? Just paranoid? Use these handy terminal commands to disable the iSight camera (be sure to replace YourName with your username!):

sudo mv /System/Library/QuickTime/QuickTimeUSBVDCDigitizer.component \ /Users/YourName/Desktop

and

sudo mv /System/Library/PrivateFrameworks/CoreMediaIOServicesPrivate.framework/ Versions/A/Resources/VDC.plugin /Users/YourName/Desktop

What you have just done is move two drivers for the iSight camera out of their system folders and onto your Desktop. If you wish to reverse this move, you simply change the direction (assuming you haven’t moved the files since then):

sudo mv/Users/YourName/Desktop/QuickTimeUSBVDCDigitizer.component \ /System/Library/QuickTime/

and

sudo mv /Users/YourName/Desktop/VDC.plugin /System/Library/PrivateFrameworks/CoreMediaIOServicesPrivate.framework/Versions/A/Resources/

If you want to make the iSight stay disabled forever, simply dump the files on your Desktop into the Trash and empty it.

The contents of this guide are for educational use only. For more information, see our Disclaimer.

Your Ad Here

27 Comments »

  1. Is it possible to set the captured picture as background on the other computer? If so, what’s the command?

    • Sure thing! If you save the captured picture on the desktop as “Picture 1.png”, for instance, you can copy and paste the following command into Terminal (after you’ve SSH’d into their computer):

      osascript << EOF
      tell application "Finder"
      set desktop picture to file "Picture 1.png" of desktop
      end tell
      EOF

      That will set the captured picture as their desktop background.

  2. I typed in ./isightcapture image.jpg and this came up:

    FATAL: setting data channel failed – cam busy/not connected ?

    how would I connect the cam?

  3. Would logging in via SSH trigger a sort of warning on the other computer?
    like a pop-up or something.

    **p.s. can you also log in as a guest if the other computer only has one user?
    thanks

    • I don’t think that the guest account has any sort of SSH privileges, but I could be mistaken, and no — there is no sort of popup or any visual indicator. The only way that someone would be able to see that someone logged in via SSH is if they checked their logs.

  4. This seems like a very cool utility. However, I can not get it to work on my macbook pro running OSX Snow Leopard. Not sure if I am entering the right commands into Terminal. Any advice? I am new to computers so I have no idea what I am doing.

  5. Jeff, thanks for responding so quickly. I practiced first using basic bash commands – made my computer say all kinds of mean things to me out loud – just to make sure I was on the right track.
    When I attempt to use the isightcapture on my own computer by typing:

    cd /Users/YourName/Desktop./isightcapture image.jpg

    I repeatedly get the “No such file or directory” message. the program is on my desktop and I am the administrator. I am not sure how to troubleshoot.

    Thanks for this site, I am learning a tremendous amount, wish I had found it a long time ago.

    • Thanks for the feedback Joel! If you’re enjoying the site, I hope you’ll subscribe to our newsletter (sign-up in the sidebar) and join our forum to learn even more! (http://www.hackmac.org/forum/)

      I think the problem is that you’re trying to run two commands as one line. The following is one command:
      cd /Users/YourName/Desktop
      and then after you run that, you would run this command separately:
      ./isightcapture image.jpg

      Hope that helps!

    • Jeff, it worked like a charm on my computer! If I want to capture images remotely will I need to download isightcapture on the target computer or just have it on my own?
      I have the e-book and I am signed up for the newsletter. I am looking forward to learning more. Thanks!

    • Great to hear! Sorry for the late reply; this one must have slipped by me.

      You’ll need to have isightcapture on the target computer, so you can copy it over beforehand through the command line or by a flashdrive or something else.

  6. I found an easier solution. just tape or cover the darn thing. it works for me

  7. How can i make it download something??

    • Jacob – Can you define “it”? I’m not entirely sure what you would be downloading, unless you mean pictures from another machine, in which case you could do it via wget and SSH or by FTP/File Sharing.

  8. I cannot download iSightCapture. Suggestions or alternative sources?

  9. I am not able to download the iSight Capture from that web site. Is there another website that I can download it from?
    Thanks

  10. after tipping the ssh command (first my login name then @ then ip of targeted mac )
    terminal ansers
    “connect to host 192.168.1.5 port 22: Connection refused”.
    A video woud help to !!!
    thanks in advances .

  11. Hey Jeff. not sure the dmg you’re linking is working. anyway you can update it? id like to test this out on a remote machine. thanks.

Leave a Comment

 

Hacking Guide

Enter your name and email below to get Free Instant Access to the most comprehensive guide available on how to Hack, Control Remotely, and Decrypt the Passwords of Macs.

hack mac guide

Join the many people who have enjoyed the guide and receive a weekly newsletter with exclusive online hacking and security tips.

Can you afford not to know?