- I'm a Social Person; Does That Make Me a Hacker?
- The Telephone: Primary Tool for Social Engineering
- Dumpster Diving
- Desktop Hacking
- And Knowing Is Half the Battle
The Telephone: Primary Tool for Social Engineering
With a simple telephone, a talented social hacker can steal more critical information from and cause greater compromise to a target network than a team of "script kiddies" armed with the latest exploit downloaded from the Internet.
Before calling, hackers generally try to get as much specific information about the target network as possible, using freely available discovery tools such as Ws_Ping ProPack and Nmap. With such tools, it's possible to obtain a great deal of information about the target network, including its IP address ranges; DNS servers; zone transfer; names of mail servers, firewalls, and other hosts; ISPs; and so on, that may be useful during the telephone conversation.
However, the truly scary thing is that it may not be necessary to have any information at all, since often an obliging target of the attack can be talked into supplying all the information you need. Clearly, the less information the hacker has prior to the calls, the more difficult the attempt at social engineering will be.
Numerous phone techniques have been used over the years. In the interest of space, I'll discuss only one means here:
"Hi, I'm Mike. I'm from Technical Support."
The goal of this exercise is to contact a user of the target network and simply keep the user talking long enough to develop a rapport before asking for his or her password. The general approach is to select a large enough number of employees, say 30, from various levels of access throughout the organization. Employees can simply be selected at random from a company directory if the hacker has no prior information about the firm.
In this approach, the hacker masquerades as a member of technical support and calls unsuspecting employees, claiming to be investigating reports of network congestion in the employees' LAN or subnet, and requesting the user's password in order to conduct tests on the network.
The first step in the attack is to call the real tech support department or help desk and get the names of a few people there that the hacker can impersonate, along with the format of a trouble ticket number. Alternatively, the hacker can just use common names (Mike, John, etc.) and claim to be "the new guy" if the name is not recognized. This works best if the technical support functions have been outsourced because company employees are unlikely to know anyone there, and have no reason to question any name presented.
With this trouble ticket information and a good technical support name, the hacker calls a target company employee and claims to be investigating reports of network congestion. Before making the call, the prepared hacker will have scripted out the cover story he or she will use, along with all the requisite network information. If the target is not technically savvy, the hacker can use technical-sounding phrases such as "investigating congestion between the gateway router and the switch for your LAN," to help convince the target of the attacker's assumed identity. To help win over the target employee, the hacker may tell the user that he's trying to fix the current problem so the network connection will be faster.
Next, the hacker (let's just call him "Mike" for the sake of simplicity) engages the employee (we'll call him Jim) in running simple "tests" that can be done from the Jim's desktop. A popular test is to have the target run ping localhost and ask whether the TTL field is greater than 64 (it's usually 128 or 256). Mike then informs Jim that a TTL greater than 64 is indicative of network congestion. A ping of the default gateway is also commonly used, which avoids getting caught by employees knowledgeable enough to know that the localhost is their own machine. At this time, Mike obtains Jim's IP address and subnet mask as well as the IP address of the default gateway from the target, simply by asking Jim to run ipconfig -a (for a Windows host) or ifconfig (for a UNIX machine) and read the results aloud. Mike can justify this "test" by stating that he needs to see whether Jim's IP information corresponds to Mike's. Running arp gateway and the netstat command are other good tests.
The idea is to keep Jim talking, making this process just slightly inconvenient for him, before finally asking him for his password so that Mike can continue running these "tests" without taking up any more of Jim's time. If Jim starts getting suspicious at any point, Mike can politely end the conversation by stating that the last test indicated that the problem may not be on Jim's end (or any such story). Mike then gives Jim an invented trouble ticket number (following the format received from technical support), ends the conversation, and begins again by calling another employee.
Exit Strategy
If Mike happens to reach staff members who have been trained in resisting such attacks or the target happens to be technically proficient, these techniques will be more difficult. However, in a staff of a large enough size, there are sure to be a few individuals who don't hold to such high standards. In the process of finding them, Mike may experience several failed attempts. In that case, he can space out the telephone calls between days or preferably weeks to avoid raising the suspicions of the target firm. The author was at one time hired by a client to perform a social engineering attack on that client to determine the firm's level of resistence to such attacks. Out of 30 randomly selected employees from a workforce of 10,000, 17 passwords were extracted with such an attack.