Phishing is an attempt to criminally and fraudulently acquire sensitive information, such as user names, passwords and credit card details, by appearing as a trustworthy entity .So far I've have discussed Various Phishing attacks in detail, such as Simple Phishing attacks , Tabbnabbing .etc .Today i will write about a new and advanced Phishing technique called as Desktop Phishing.
What is Desktop Phishing ?
Desktop Phishing is an advance form of phishing attack. In a simple Phishing attack, The attacker convinces the victim to click on a link which contains a fake login page,Victim then enters his credentials such as user names passwords in the fake login page that goes to the attacker.Victim is then redirected to an error page or genuine website depending on the attacker.But the main drawback in this phishing attack is the victim can easily differentiate between fake and real login page by looking at the URL which contains a different domain name. We can overcome this in desktop phishing by spoofing the domain name.
In Desktop Phishing The Attacker just replaces some text in the hosts file which is located in Windows directory of the victims computer ,The attacker does this by sending a executable or a batch file and convinces the victim to click it, Now whenever the victim visits the real website like GMail.com He is redirected to the attackers phishing page But the domain name (GMail.com) remains the same as typed by the victim and the victim doesn't come to know that it is a fake page, Thus this type of phishing attack has very good success rate.
Difference between phishing and desktop phishing is as follows: -
In Normal phishing: -
- Attacker convinces the victim to click on the link of fake login page which resembles a genuine login page.
- Victim enters his credentials in fake login page that goes to attacker.
- Victim is then redirected to an error page or genuine website depending on attacker.
But main drawback in phishing is that victim can easily differentiate between fake and real login page by looking at the domain name. We can overcome this in desktop phishing by spoofing domain name.
In desktop phishing:-
- Attacker sends an executable/batch file to victim and victim is supposed to double click on it. Attacker's job is done.
- Victim types the domain name of original/genuine website and is taken to our fake login page. But the domain name remains the same as typed by victim and victim doesn't come to know.
- Rest of the things is same as in normal phishing.
What is Hosts File?
The hosts file is a text file containing domain names and IP address associated with them. Location of hosts files in windows: C:\Windows\System32\drivers\etc\
Whenever we visit any website, say www.example.com , an query is sent to Domain Name Server(DNS) to look up for the IP address associated with that website domain. But before doing this the hosts file on our local computer is checked for the IP address associated to the domain name.
Suppose we make an entry in hosts file as shown. When we visit www.anywebsite.com , we would be taken to this 18.104.22.168. No query for resolving IP address associated with www.example.com would be sent to DNS.
What is attack?
I hope you have got an idea that how modification of this hosts file on victim's computer can be misused. We need to modify victim's hosts file by adding the genuine domain name and IP address of our fake website /phishing page. Whenever victim would visit the genuine website, he would be directed to our fake login page and domain name in the URL box would remain genuine as typed by victim. Hence domain name is spoofed.
Steps to perform attack: -
1. Create and host phishing page on your computer.
2. Modify victim's host file
Since the webhosting sites like 110mb.com, ripway.com etc where we usually upload our phishing page do not provide a IP that points to your website like www.anything.110mb.com. An IP address points to a web server and not a website. So we need to host the phishing page on our computer using a web server software like wamp or xampp.
Kindly read my simple tutorial on setting up XAMPP webserver here and this step would be clear to you.
Step 2: -
This step can performed in two different ways.
Method 1 - Send victim a zip file containing modified host file. When Zip file would be clicked, it would automatically replace victim's original hosts file with modified hosts file.
Copy your hosts file and paste it anywhere. Modify it according to yourself..Edit it with any text editor and associate your public IP address with domain you wish as show.
Like in this case, when victim would visit gmail.com , he would be taken to website hosted on IP 'xxx.xxx.xxx.xxx'. Replace it with your public IP.Compress hosts file such that when victim opens it, it automatically gets copied to default location C:\Windows\system32\drivers\etc and victim's hosts file get replaced by our modified hosts file.
To setup modified host zip file, follow the below image: -
Then you can bind this file with any exe/image (using a binder) or directly give it to victim. He is supposed to click it and you are done.
Method 2 - Create a batch file which would modify hosts file as per your need.
Open your notepad and type the following text: -
echo xxx.xxx.xxx.xxx www.example.com >> C:\windows\system32\drivers\etc\hosts
echo xxx.xxx.xxx.xxx example.com >> C:\windows\system32\drivers\etc\hosts
Replace it with your IP and website according to yourself.
Save file as 'all files' instead of txt files and name it example.bat . Extension must be .bat
When victim would run this file, a new entry will be made in hosts file.
You can test both the above methods to modify your own hosts file.
Limitations of attack: -
1. Since our pubilc IP address is most probably dynamic that it gets changed everytime we disconnect and connect. To overcome this we need to purchase static IP from our ISP.
2. The browser may warn the victim that Digital Certificate of the website is not genuine.
Never just blindly enter your credentials in a login page even if you yourself have typed a domain name in web browser.
Check the protocol whether it is "http" or "https". https is secure one.