Saturday, 28 May 2011
Attacking the DNS System Tutorial
This tutorial is written by mango1122 from governmentsecurity. Since its very informative, I have decided to post this tutorial over here.
--------------
INTRODUCTION
--------------
Domain Name System (DNS) associates various sorts of information with so-called domain names;
most importantly, it serves as the "phone book" for the Internet: it translates human-readable
computer hostnames, e.g. en.wikipedia.org, into the IP addresses that networking equipment
needs for delivering information. It also stores other information such as the list of mail exchange
servers that accept email for a given domain
The Berkley Internet Name Service (BIND) is the most common form of DNS server used on the Internet.
BIND typically runs on UNIX type systems. The DNS server stores information which it serves out about a
particular domain (also referred to as a namespace) in text files called zone files.A client (the resolver)
maintains a small amount of local cache which it will refer to first before looking at a local static host�s file
and then finally the DNS server. The result returned will then be cached by the client for a small period of time.
When a DNS server is contacted for a resolution query, and if it is authoritative (has the answer to the question
in its own database) for a particular domain (referred to as a zone) it will return the answer to the client. If it is
not authoritative for the domain, the DNS server will contact other name servers and eventually it will get the
answer it needs which is passed back to the client. This process is known as recursion.
Additionally the client itself can attempt to contact additional DNS servers to resolve a name. When a client does
so, it uses separate and additional queries based on referral answers from servers. This process is known as iteration
----------------------------
ATTACKING THE DNS CACHE
----------------------------
The most common attacks on DNS can be classified as
Zone Transfers or information disclosure attacks
Cache poisioning
CACHE POISIONING
Lets say a client in domain xyz.com wants to resolve www.google.com
1. The client will contact its configured DNS server and ask for www.google.com to be resolved.
This query will contain information about the client�s source UDP port, IP address and a DNS transaction ID.
2.If the information is available locally i.e cached ,it is returned to the client
3. If not then the client�s DNS server will contact the authoritive name server for google.com and resolve the query
4. The answer is passed back to the client and also cached locally in the DNS server of xyz.com (say ns1.xyz.com) and the client
5. Note the client only accepts the DNS information if the server replies with the correct client�s source UDP port, IP address and the DNS transaction ID
--------------------------------
Attack #1 � The Birthday Attack
--------------------------------
To poison the cache the attacker needs to
1 Send a number of resolution requests for google.com.An important thing
to note here is that each query for google.com is assigned a different transactio ID.
2. While the DNS resolves this the attacker sends a large number of spoofed replies
from ns1.google.com with different transaction ID.The attacker hopes to guess the
correct transaction ID as used the two name servers
Finding the correct IP addresses is easy; we know our target, and we know the addresses of the legitimate
nameservers for the domain to be hijacked. Finding the port is slightly harder. We know that the destination
port of the recursive query is UDP port 53, but the source port is a moving target. Fortunately for our attacker,
BIND will more often than not reuse the same source port for queries on behalf of the same client. So, if the
attacker is working from an authoritative nameserver, he can first issue a request for a DNS 3lookup of a
hostname on his server. When the recursive query packet arrives, he can look at the source port. Chances are
this will be the same source port used when the victim sends the queries for the domain to be hijacked.
--------------------------------
Attck #2 - Poisioning the Cache
--------------------------------
1. To obtain the source port we use a perl script.It needs to be run from an authoritative name server which
the attacker controls to query the target name server for a hostname for which the attacker�s machine is authoritative.
Another alternative would be to use a packet sniffer.
dns1.pl 10.10.10.50 www.google.com
source port: 34567
2. Now we run the second script written by Ramon Izaguirre called hds0.pl2.The script does most of the work by spoofing the reply from ns1.google.com
./hds0.pl (ns1.google.com) (ns1.xyz.com) (source port obtained from the earlier script) (spoof target)
To observe if the attack was successful simply query the target name server:
dig @12.12.12.12 www.google.com
www.google.com 86400 IN A 10.10.10.10
The attack is successful as google resolves yo 10.10.10.10
The script is available here-hxxp://securityvulns.com/files/birthday.pl
--------------------------------------
Attack #3 - DOS Attack on DNS servers
--------------------------------------
DNS servers like other Internet resources are prone to denial of service attacks.The only difference here would
be that DNS server uses UDP for name resolution.To create a DOS attack on the DNS server a script such as
dnsflood.pl can be executed on multiple clients to create the traffic.DNSflood works by sending many thousands
of rapid DNS requests, thereby giving the server more traffic than it can handle resulting in slower and slower
response times for legitimate requests.
The script can be obtained from - hxxp://packetstormsecurity.org/DoS/dnsflood.pl
In the following example we use the scrip to create a DOS effect on the DNS server and then query the DNS for name resolution
perl dnsflood.pl 192.168.10.1
attacked: 192.168.10.1...
To assess the impact of this attack on performance the attacker from another machine first clears his local cache and then
queries the target name server. Clearing the local cache will ensure the resolver gets the information from the server and not locally.
C:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\>nslookup
DNS request timed out.
timeout was 2 seconds.
*** Can't find server name for address 192.168.10.1: Timed out
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.10.1
> ms2.xyz.com
Server: UnKnown
Address: 192.168.10.1
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
>exit
If this attack was multiplied from a number of machines then the impact would be even greater.
------------
CONCLUSION
------------
These are only a few possible exploits involving the DNS Spoofing vulnerability and there are,probably,
many more waiting to be discovered. Discovery and implementation is limited only by the active imagination of the attacker
Read more...
--------------
INTRODUCTION
--------------
Domain Name System (DNS) associates various sorts of information with so-called domain names;
most importantly, it serves as the "phone book" for the Internet: it translates human-readable
computer hostnames, e.g. en.wikipedia.org, into the IP addresses that networking equipment
needs for delivering information. It also stores other information such as the list of mail exchange
servers that accept email for a given domain
The Berkley Internet Name Service (BIND) is the most common form of DNS server used on the Internet.
BIND typically runs on UNIX type systems. The DNS server stores information which it serves out about a
particular domain (also referred to as a namespace) in text files called zone files.A client (the resolver)
maintains a small amount of local cache which it will refer to first before looking at a local static host�s file
and then finally the DNS server. The result returned will then be cached by the client for a small period of time.
When a DNS server is contacted for a resolution query, and if it is authoritative (has the answer to the question
in its own database) for a particular domain (referred to as a zone) it will return the answer to the client. If it is
not authoritative for the domain, the DNS server will contact other name servers and eventually it will get the
answer it needs which is passed back to the client. This process is known as recursion.
Additionally the client itself can attempt to contact additional DNS servers to resolve a name. When a client does
so, it uses separate and additional queries based on referral answers from servers. This process is known as iteration
----------------------------
ATTACKING THE DNS CACHE
----------------------------
The most common attacks on DNS can be classified as
Zone Transfers or information disclosure attacks
Cache poisioning
CACHE POISIONING
Lets say a client in domain xyz.com wants to resolve www.google.com
1. The client will contact its configured DNS server and ask for www.google.com to be resolved.
This query will contain information about the client�s source UDP port, IP address and a DNS transaction ID.
2.If the information is available locally i.e cached ,it is returned to the client
3. If not then the client�s DNS server will contact the authoritive name server for google.com and resolve the query
4. The answer is passed back to the client and also cached locally in the DNS server of xyz.com (say ns1.xyz.com) and the client
5. Note the client only accepts the DNS information if the server replies with the correct client�s source UDP port, IP address and the DNS transaction ID
--------------------------------
Attack #1 � The Birthday Attack
--------------------------------
To poison the cache the attacker needs to
1 Send a number of resolution requests for google.com.An important thing
to note here is that each query for google.com is assigned a different transactio ID.
2. While the DNS resolves this the attacker sends a large number of spoofed replies
from ns1.google.com with different transaction ID.The attacker hopes to guess the
correct transaction ID as used the two name servers
Finding the correct IP addresses is easy; we know our target, and we know the addresses of the legitimate
nameservers for the domain to be hijacked. Finding the port is slightly harder. We know that the destination
port of the recursive query is UDP port 53, but the source port is a moving target. Fortunately for our attacker,
BIND will more often than not reuse the same source port for queries on behalf of the same client. So, if the
attacker is working from an authoritative nameserver, he can first issue a request for a DNS 3lookup of a
hostname on his server. When the recursive query packet arrives, he can look at the source port. Chances are
this will be the same source port used when the victim sends the queries for the domain to be hijacked.
--------------------------------
Attck #2 - Poisioning the Cache
--------------------------------
1. To obtain the source port we use a perl script.It needs to be run from an authoritative name server which
the attacker controls to query the target name server for a hostname for which the attacker�s machine is authoritative.
Another alternative would be to use a packet sniffer.
dns1.pl 10.10.10.50 www.google.com
source port: 34567
2. Now we run the second script written by Ramon Izaguirre called hds0.pl2.The script does most of the work by spoofing the reply from ns1.google.com
./hds0.pl (ns1.google.com) (ns1.xyz.com) (source port obtained from the earlier script) (spoof target)
To observe if the attack was successful simply query the target name server:
dig @12.12.12.12 www.google.com
www.google.com 86400 IN A 10.10.10.10
The attack is successful as google resolves yo 10.10.10.10
The script is available here-hxxp://securityvulns.com/files/birthday.pl
--------------------------------------
Attack #3 - DOS Attack on DNS servers
--------------------------------------
DNS servers like other Internet resources are prone to denial of service attacks.The only difference here would
be that DNS server uses UDP for name resolution.To create a DOS attack on the DNS server a script such as
dnsflood.pl can be executed on multiple clients to create the traffic.DNSflood works by sending many thousands
of rapid DNS requests, thereby giving the server more traffic than it can handle resulting in slower and slower
response times for legitimate requests.
The script can be obtained from - hxxp://packetstormsecurity.org/DoS/dnsflood.pl
In the following example we use the scrip to create a DOS effect on the DNS server and then query the DNS for name resolution
perl dnsflood.pl 192.168.10.1
attacked: 192.168.10.1...
To assess the impact of this attack on performance the attacker from another machine first clears his local cache and then
queries the target name server. Clearing the local cache will ensure the resolver gets the information from the server and not locally.
C:\>ipconfig /flushdns
Windows IP Configuration
Successfully flushed the DNS Resolver Cache.
C:\>nslookup
DNS request timed out.
timeout was 2 seconds.
*** Can't find server name for address 192.168.10.1: Timed out
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.10.1
> ms2.xyz.com
Server: UnKnown
Address: 192.168.10.1
DNS request timed out.
timeout was 2 seconds.
DNS request timed out.
timeout was 2 seconds.
*** Request to UnKnown timed-out
>exit
If this attack was multiplied from a number of machines then the impact would be even greater.
------------
CONCLUSION
------------
These are only a few possible exploits involving the DNS Spoofing vulnerability and there are,probably,
many more waiting to be discovered. Discovery and implementation is limited only by the active imagination of the attacker
Read more...
Attacking the DNS System Tutorial
2011-05-28T23:42:00+05:45
Cool Samar
hacking|
Comments
Labels:
hacking
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Fixing No Init Found. Try Passing Init: Bootarg Error in Ubuntu
Today I encountered this error and I thought it was related to HDD issues. So I used fsck which is a command line tool to check and repair the linux filesystem. So I am writing this short how to so that it might be helpful for you as well.
The error encountered is something like below:
You need to boot your system with the Ubuntu live CD. After booting from live CD, open the terminal and then enter the following command:
Replace /dev/sda1 with your target filesystem partition and press enter. Whenever any fix or overwrite permissions are asked, press y. After finishing the repairing, reboot your system from hard disk. The system should boot without any error now.
I hope this helps you. :)
Read more...
The error encountered is something like below:
mount: mounting /dev on /root/dev failed: No such file or directory
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have requested /sbin/init
No init found. Try passing init: bootarg
mount: mounting /sys on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed: No such file or directory
Target file system doesn't have requested /sbin/init
No init found. Try passing init: bootarg
You need to boot your system with the Ubuntu live CD. After booting from live CD, open the terminal and then enter the following command:
sudo fsck /dev/sda1
Replace /dev/sda1 with your target filesystem partition and press enter. Whenever any fix or overwrite permissions are asked, press y. After finishing the repairing, reboot your system from hard disk. The system should boot without any error now.
I hope this helps you. :)
Read more...
Fixing No Init Found. Try Passing Init: Bootarg Error in Ubuntu
2011-05-28T23:32:00+05:45
Cool Samar
tricks and tips|ubuntu|
Comments
Labels:
tricks and tips,
ubuntu
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
How To Change Default Location of Program Files Folder[Registry]
By default, the installation of any windows program is done in the [System Drive]/Program Files directory and in the case you want to change this setting, a simple registry hack is enough.
First open the registry editor by typing regedit in your run command. Then navigate to the following key:
From there, change the value of "ProgramFiles", or "ProgramFilesDir" as per your need. I hope this helps. :)
Read more...
First open the registry editor by typing regedit in your run command. Then navigate to the following key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion
From there, change the value of "ProgramFiles", or "ProgramFilesDir" as per your need. I hope this helps. :)
Read more...
How To Change Default Location of Program Files Folder[Registry]
2011-05-28T19:15:00+05:45
Cool Samar
registry|tricks and tips|
Comments
Labels:
registry,
tricks and tips
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Etherchange : Command Line Tool To Change MAC Address
I've already discussed on how to change mac adress of your ethernet card under windows as well as linux. One more such tool which is command line tool, is etherchange.
EtherChange can change the Ethernet address of the network adapters in Windows.
Usage instructions
Download the exe file and run it from a Command Prompt. It will give you the instructions you need. EtherChange only works if your account is in the Administrators group.
Download link: EtherChange
Read more...
EtherChange can change the Ethernet address of the network adapters in Windows.
Usage instructions
Download the exe file and run it from a Command Prompt. It will give you the instructions you need. EtherChange only works if your account is in the Administrators group.
Download link: EtherChange
Read more...
Etherchange : Command Line Tool To Change MAC Address
2011-05-28T15:22:00+05:45
Cool Samar
hacking|security bypass|useful website|
Comments
Labels:
hacking,
security bypass,
useful website
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Friday, 27 May 2011
Download Books From Google Books Using A GreaseMonkey Script
Do you want to download the undownloadable books from google books? If yes, here's the solution for you.
Google Book Downloader is a greasemonkey script that works in firefox with greasemonkey addon. Greasemonkey is a very useful firefox addon used to manipulate the webpage with the javascript.
For more details on the script and how to use it, refer to the official site.
The script is available at userscripts.org collection.
I hope this is useful.
Read more...
Google Book Downloader is a greasemonkey script that works in firefox with greasemonkey addon. Greasemonkey is a very useful firefox addon used to manipulate the webpage with the javascript.
For more details on the script and how to use it, refer to the official site.
The script is available at userscripts.org collection.
I hope this is useful.
Read more...
Download Books From Google Books Using A GreaseMonkey Script
2011-05-27T23:04:00+05:45
Cool Samar
mozilla firefox|tricks and tips|useful website|
Comments
Labels:
mozilla firefox,
tricks and tips,
useful website
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Tuesday, 24 May 2011
Remove Warnings & Notices From Psychostats
I was testing the psychostats script today and while testing I found that it displayed lots of warnings and notices that make the script look so bad as the output is totally messed up. This post will help you to fix this problem.
At first, I tried to change the error_reporting and display_errors setting in php.ini file but I could not get rid of those errors. So I then put a line of code as below at the top of index.php file of psychostats. Still no luck. Finally, I navigated to ./includes relative to psychostats root folder where there was a file named class_PS.php. Open this file and type the following line below <php line.
This will suppress all those errors and will make your psychostats look better. I hope this helps.
Read more...
At first, I tried to change the error_reporting and display_errors setting in php.ini file but I could not get rid of those errors. So I then put a line of code as below at the top of index.php file of psychostats. Still no luck. Finally, I navigated to ./includes relative to psychostats root folder where there was a file named class_PS.php. Open this file and type the following line below <php line.
error_reporting(0);
This will suppress all those errors and will make your psychostats look better. I hope this helps.
Read more...
Remove Warnings & Notices From Psychostats
2011-05-24T23:49:00+05:45
Cool Samar
game|php|programming|software|tricks and tips|
Comments
Labels:
game,
php,
programming,
software,
tricks and tips
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Fix Counter Strike Sound Problem Under WINE [How To]
I've been playing counter strike for a while through wine and so far, most of it works well. With getting more and more better with the game, I've learnt the importance of sound in this game. Unfortunately, the sound was not working properly and with some experiments, I've found the solution for me. I hope it also works for you.
By default, my wine's audio is configured to use ALSA driver with the settings as below:
Now, you need to edit the settings to match as in the following image.
After changing the audio configuration, click on Apply and then restart Counter-strike. I guess this will work for you as well.
Read more...
By default, my wine's audio is configured to use ALSA driver with the settings as below:
Now, you need to edit the settings to match as in the following image.
After changing the audio configuration, click on Apply and then restart Counter-strike. I guess this will work for you as well.
Read more...
Fix Counter Strike Sound Problem Under WINE [How To]
2011-05-24T21:17:00+05:45
Cool Samar
linux|tricks and tips|ubuntu|wine|
Comments
Labels:
linux,
tricks and tips,
ubuntu,
wine
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Friday, 20 May 2011
Converting VMWare .vmdk to Virtualbox .vdi
I was downloading the metasploitable to play around with it and I found that it was the VMWare .vmdk file so I had to convert it into .vdi file to run under the virtualbox. This post will show you how to easily convert the .vmdk file into .vdi file.
Converting the vmware disk file to the virtualbox hdd file is not the difficult task but still many might not be knowing how to do that. In order to convert your .vmdk file to .vdi, you need to type the following command in the terminal by first changing the terminal to the proper directory.
VBoxManage clonehd --format VDI metasploitable.vmdk metasploitable.vdi
Note that you need to have virtualbox installed for this to work. I hope this helps. :)
Read more...
Converting the vmware disk file to the virtualbox hdd file is not the difficult task but still many might not be knowing how to do that. In order to convert your .vmdk file to .vdi, you need to type the following command in the terminal by first changing the terminal to the proper directory.
VBoxManage clonehd --format VDI metasploitable.vmdk metasploitable.vdi
Note that you need to have virtualbox installed for this to work. I hope this helps. :)
Read more...
Converting VMWare .vmdk to Virtualbox .vdi
2011-05-20T08:20:00+05:45
Cool Samar
tricks and tips|virtualbox|
Comments
Labels:
tricks and tips,
virtualbox
Bookmark this post:blogger tutorials
Social Bookmarking Blogger Widget |
Subscribe to:
Posts (Atom)