• DNA được Bộ TTTT cấp Giấy Phép Kinh Doanh Dịch Vụ An Toàn Thông Tin

    Cuối tháng 12 vừa qua, DNA chính thức đón nhận Giấy phép kinh doanh dịch vụ An toàn thông tin do Bộ Thông Tin & Truyền Thông cấp, cho phép DNA phát triển và kinh doanh các loại hình dịch vụ an toàn thông tin. Giấy phép số 452/GP-BTTTT chính thức có hiệu lực từ ngày 28/12/2018 và có giá trị trong vòng 10 năm. Trong giai đoạn quyết định lựa chọn lĩnh vực, dịch vụ mà DNA sẽ đăng ký để nhận giấy phép, tập thể Ban lãnh đạo và các cổ đông của DNA đồng thống nhất giữ vững triết lý và tôn chỉ kinh doanh ngay từ những ngày đầu sáng lập: "Không bán giải pháp hay sản phẩm bảo mật, chỉ cung cấp dịch vụ ATTT cao cấp"

  • Dịch vụ Đánh Giá An Toàn Thông Tin: Mô phỏng toàn diện tư duy và hành vi của Hacker

    Dịch vụ Đánh giá An toàn thông tin của DNA nói một cách chính xác là mô phỏng toàn diện tư duy và hành vi như "đối thủ cạnh tranh" của khách hàng, thông qua đó DNA có thể chứng minh được kẻ tấn công bằng cách nào có thể truy cập trái phép đến hạ tầng hệ thống và dữ liệu nhạy cảm, từ đó giúp cho khách hàng biết được chính xác cần phải tập trung đầu tư vào điều gì để bảo vệ tổ chức đối với những cuộc tấn công diễn ra trong thực tế.

  • Đầu tư 2 tỷ đồng để triển khai chiến lược toàn diện đảm bảo ATTT cho tỉnh Tây Ninh

    Thực hiện Quyết định 2521/QĐ-UBND ngày 31/10/2014 của UBND tỉnh Tây Ninh về việc phê duyệt dự án Triển khai chiến lược toàn diện đảm bảo an toàn an ninh thông tin cho Trung tâm tích hợp dữ liệu (TTTHDL) của tỉnh đến năm 2020; Công văn số 970/UBND-VH ngày 14/4/2015 của UBND tỉnh về việc tăng cường bảo đảm ATTT trong cơ quan, tổ chức nhà nước. Vào đầu tháng 5 vừa qua, Công ty cố vấn chiến lược An toàn thông tin DNA và Sở Thông Tin Truyền Thông tỉnh Tây Ninh đã chính thức ký kết hợp đồng thực hiện dự án "Triển khai chiến lược toàn diện đảm bảo an toàn an ninh thông tin cho Trung tâm THDL tỉnh". Tổng mức đầu tư của dự án là gần 2 tỷ đồng.

  • Triển khai dự án đánh giá an toàn thông tin cho TOP 10 công ty gia công phần mềm

    Sau khi khảo sát và tìm hiểu về thị trường đánh giá an toàn thông tin tại Việt Nam, KMS đã quyết định hợp tác với công ty cố vấn chiến lược và đánh giá độc lập an toàn thông tin DNA. Là công ty chuyên cung cấp các dịch vụ đánh giá cao cấp liên quan đến an toàn thông tin, DNA đã đáp ứng được những yêu cầu nghiêm ngặt của KMS, chịu trách nhiệm đánh giá an toàn thông tin định kỳ hàng năm, mỗi năm sẽ thay đổi những loại hình đánh giá khác nhau để kiểm tra toàn diện các mối đe dọa mà KMS có thể đối mặt trong tương lai.

Strategic Consulting

Cố vấn chiến lược

Ngày nay, nhiều tổ chức không ngừng cố gắng xây dựng, phát triển và mong muốn triển khai thành công một chiến lược an toàn thông tin toàn diện, có sự gắn kết chặt chẽ với những mục tiêu bảo mật rõ ràng, các yêu cầu quy định pháp lý và tiêu chuẩn quốc tế.

Nếu chiến lược an toàn thông tin được triển khai đúng cách thì tổ chức không chỉ đạt được những mục tiêu về bảo mật và tuân thủ, mà còn có thể thấu hiểu tường tận bức tranh an toàn thông tin của tổ chức.

Penetration Testing

Đánh giá An Toàn Thông Tin

Dịch vụ Đánh giá An toàn thông tin của DNA nói một cách chính xác là mô phỏng toàn diện tư duy và hành vi của Hacker, thông qua đó DNA có thể chứng minh được kẻ tấn công bằng cách nào có thể truy cập trái phép đến hạ tầng hệ thống và dữ liệu nhạy cảm của khách hàng.

DNA cung cấp một loạt các dịch vụ Đánh giá an toàn thông tin cao cấp, được thiết kế để đáp ứng toàn diện đối với từng nhu cầu cụ thể của khách hàng.

SANS

Huấn luyện đào tạo

Chương trình huấn luyện đào tạo của DNA được thiết kế để kết hợp giữa kiến thức nền tảng và kinh nghiệm thực tế vào bên trong từng giáo trình huấn luyện.

Đối với các chương trình huấn luyện hướng về kỹ năng quản lý, học viên sẽ được trải nghiệm phối hợp triển khai các dự án mà DNA đã và đang thực hiện, nhằm giúp học viên có cái nhìn thực tế đối với lĩnh vực an toàn thông tin.

Một số tổ chức tiêu biểu hàng đầu tại Việt Nam đã tin cậy DNA
DNA Customer

Understanding Man-In-The-Middle Attacks - SSL Hijacking ( Part 4 )

Taking a look at SSL spoofing, discussing some theory behind SSL connections and what makes them in/secure.

Introduction

So far we have discussed ARP cache poisoning, DNS spoofing, and session hijacking on our tour of common man-in-the-middle attacks. In this article we are going to examine SSL spoofing, which is inherently one of the most potent MITM attacks because it allows for exploitation of services that people assume to be secure. I will begin by discussing some theory behind SSL connections and what makes them secure, and then follow by showing how that can be exploited. As always, the last section of the article is reserved for detection and prevention tips.

SSL and HTTPS

Secure Socket Layers (SSL), or Transport Layer Security (TLS) in its more modern implementation, are protocols designed to provide security for network communication by means of encryption.  This protocol is most commonly associated with other protocols to provide a secure implementation of the service that protocol provides. Examples of this include SMTPS, IMAPS, and most commonly HTTPS. The ultimate goal is to create secure channels over insecure networks.

In this article we will focus on attacking SSL over HTTP, known as HTTPS, because it is the most common use of SSL. You may not realize it but you probably use HTTPS daily. Most popular e-mail services and online banking applications rely on HTTPS to ensure that communications between your web browser and their servers in encrypted.  If it weren’t for this technology then anybody with a packet sniffer on your network could intercept usernames, passwords, and anything else that would normally be hidden.

The process used by HTTPS to ensure data is secure centers around the distribution of certificates between the server, the client, and a trusted third party. As an example let’s say that a user is trying to connect to a Gmail e-mail account. This involves a few distinct steps, which are briefly simplified in Figure 1.


Figure 1: The HTTPS Communication Process

The process outlined in Figure 1 is by no means detailed, but basically works out as follows:

  1. The client browser connects to http://mail.google.com on port 80 using HTTP.

  2. The server redirects the client HTTPS version of this site using an HTTP code 302 redirect.

  3. The client connects to https://mail.google.com on port 443.

  4. The server provides a certificate to the client containing its digital signature. This certificate is used to verify the identity of the site.

  5. The client takes this certificate and verifies it against its list of trusted certificate authorities.

  6. Encrypted communication ensues.

If the certificate validation process fails then that means the website has failed to verify its identity. At that point the user is typically presented with a certificate validation error and they can choose to proceed at their own risk, because they may or may not actually be communicating with the website they think they are talking to.

Defeating HTTPS

This process was considered highly secure up until several years ago when an attack was published that allowed for successful hijacking of the communication process. This process doesn’t involve defeating SSL itself, but rather, defeating the “bridge” between non-encrypted and encrypted communications.

Moxie Marlinspike, a well known security researcher hypothesized that in most cases, SSL is never encountered directly. That is, most of the time an SSL connection is initiated through HTTPS it is because someone was redirected to an HTTPS via an HTTP 302 response code or they click on a link that directs them to an HTTPS site, such as a login button. The idea is that if you attack the transition from an unsecured connection to a secure one, in this case from HTTP to HTTPS, you are attacking the bridge and can man-in-the-middle an SSL connection before it even occurs. In order to do this effectively, Moxie created the SSLstrip tool, which we will use here.

The process is fairly straightforward and is reminiscent of some of the attacks we’ve completed in previous articles. It is outlined in Figure 2.


Figure 2: Hijacking HTTPS Communication

The process outlined in Figure 2 works like this:

  1. Traffic between the client and web server is intercepted.

  2. When an HTTPS URL is encountered sslstrip replaces it with an HTTP link and keeps a mapping of the changes.

  3. The attacking machine supplies certificates to the web server and impersonates the client.

  4. Traffic is received back from the secure website and provided back to the client.

The process works quite well and as far as the server is concerned it is still receiving the SSL traffic it wants to, it doesn’t know the difference. The only visible difference in the user experience is that the traffic will not be flagged as HTTPS in the browser, so a cognizant user will be able to notice that something is amiss.

Using SSLStrip

The program that makes all of this happen is called SSLstrip and is available from here. This program only runs on Linux so you can download and install it yourself, or if you don’t want to deal with the hassle of installing it yourself you can download and run Backtrack 4 which has it preinstalled.

Once you have access to SSLstrip there are a few perquisite tasks that must be done. First of all, the Linux distribution you are using must be configured for IP forwarding. To do this, enter the command echo "1" > /proc/sys/net/ipv4/ip_forward into a shell.


Figure 3: Enabling IP Forwarding

Once this has been done, we have to force all HTTP traffic that is intercepted to be routed to the port that SSLstrip will be listening on. This is done by modifying the iptables firewall configuration. This is done by using the command iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port .


Figure 4: Configuring IPTables to properly route HTTP traffic

Of course, you will replace with a random port of your choice. After these items have been configured we can run sslstrip and configure it to listen on the port specified with the command sslstrip -l .


Figure 5: Using sslstrip

The last step in this process is to configure ARP spoofing to intercept the traffic of the target host. We did this using Cain and Abel in Windows previously, but in this case we will use the arpspoof utility, which is built into Backtrack 4. The command to do this is arpspoof -i -t .


Figure 6: Configuring ARP Spoofing

Using this command you would substitute for the network interface you are performing these actions on (eth0, eth1, etc), for the IP address of the target client, and for the IP address of the gateway router the target is using.

Once completed you should be actively hijacking any SSL connections being established. From here you can fire up a packet sniffer and collect passwords, personally identifiable information, credit card numbers, etc from the traffic.

Defending Against SSL Hijacking

As discussed previously, SSL hijacking in this manner is virtually undetectable from there server side of the equation because as far as the server is concerned this is just normal communication with a client. It has no idea that it is communicating to a client by proxy. Luckily, there are a few things that can be done from the client’s perspective to detect and prevent these types of attacks.

  • Ensure Secure Connections Use HTTPS - When you perform the attack described here it strips the secure aspect of the connection away, which is visible in the browser. This means that if you log into your online banking and notice that it is just a standard HTTP connection there is a good chance something is wrong.  Whatever browser you choose to use, you should ensure you know how to distinguish secure connections from insecure ones.

  • Save Online Banking for Home - The chance of somebody intercepting your traffic on your home network is much less than on your work network. This isn’t because your home computer is more secure (let’s face it, its probably less secure), but the simple matter of fact is that if you only have one or two computers at home, the most you have to worry about in terms of session hijacking is if your 14 year old son starts watching hacking videos on YouTube. On a corporate network you don’t know what is going on down the hall or in the branch office 200 miles away, so the potential attack sources multiply. One of the biggest targets for session hijacking is online banking, but this principal applies to anything.

  • Secure your internal machines - Not to beat a dead horse, but once again, attacks like these are most commonly executed from inside the network. If your network devices are secure then there is less of a chance of those compromised hosts being used to launch a session hijacking attack.

Understanding Man-In-The-Middle Attacks - Part 4: SSL Hijacking

Taking a look at SSL spoofing, discussing some theory behind SSL connections and what makes them in/secure.

 

Chris Sanders photo

AddThis

 

If you would like to be notified of when Chris Sanders releases the next part in this article series please sign up to our WindowSecurity.com Real Time article update newsletter.

If you would like to read the other parts in this article series please go to

Introduction

So far we have discussed ARP cache poisoning, DNS spoofing, and session hijacking on our tour of common man-in-the-middle attacks. In this article we are going to examine SSL spoofing, which is inherently one of the most potent MITM attacks because it allows for exploitation of services that people assume to be secure. I will begin by discussing some theory behind SSL connections and what makes them secure, and then follow by showing how that can be exploited. As always, the last section of the article is reserved for detection and prevention tips.

SSL and HTTPS

Secure Socket Layers (SSL), or Transport Layer Security (TLS) in its more modern implementation, are protocols designed to provide security for network communication by means of encryption.  This protocol is most commonly associated with other protocols to provide a secure implementation of the service that protocol provides. Examples of this include SMTPS, IMAPS, and most commonly HTTPS. The ultimate goal is to create secure channels over insecure networks.

In this article we will focus on attacking SSL over HTTP, known as HTTPS, because it is the most common use of SSL. You may not realize it but you probably use HTTPS daily. Most popular e-mail services and online banking applications rely on HTTPS to ensure that communications between your web browser and their servers in encrypted.  If it weren’t for this technology then anybody with a packet sniffer on your network could intercept usernames, passwords, and anything else that would normally be hidden.

The process used by HTTPS to ensure data is secure centers around the distribution of certificates between the server, the client, and a trusted third party. As an example let’s say that a user is trying to connect to a Gmail e-mail account. This involves a few distinct steps, which are briefly simplified in Figure 1.


Figure 1: The HTTPS Communication Process

The process outlined in Figure 1 is by no means detailed, but basically works out as follows:

  1. The client browser connects to http://mail.google.com on port 80 using HTTP.

  2. The server redirects the client HTTPS version of this site using an HTTP code 302 redirect.

  3. The client connects to https://mail.google.com on port 443.

  4. The server provides a certificate to the client containing its digital signature. This certificate is used to verify the identity of the site.

  5. The client takes this certificate and verifies it against its list of trusted certificate authorities.

  6. Encrypted communication ensues.

If the certificate validation process fails then that means the website has failed to verify its identity. At that point the user is typically presented with a certificate validation error and they can choose to proceed at their own risk, because they may or may not actually be communicating with the website they think they are talking to.

Defeating HTTPS

This process was considered highly secure up until several years ago when an attack was published that allowed for successful hijacking of the communication process. This process doesn’t involve defeating SSL itself, but rather, defeating the “bridge” between non-encrypted and encrypted communications.

Moxie Marlinspike, a well known security researcher hypothesized that in most cases, SSL is never encountered directly. That is, most of the time an SSL connection is initiated through HTTPS it is because someone was redirected to an HTTPS via an HTTP 302 response code or they click on a link that directs them to an HTTPS site, such as a login button. The idea is that if you attack the transition from an unsecured connection to a secure one, in this case from HTTP to HTTPS, you are attacking the bridge and can man-in-the-middle an SSL connection before it even occurs. In order to do this effectively, Moxie created the SSLstrip tool, which we will use here.

The process is fairly straightforward and is reminiscent of some of the attacks we’ve completed in previous articles. It is outlined in Figure 2.


Figure 2: Hijacking HTTPS Communication

The process outlined in Figure 2 works like this:

  1. Traffic between the client and web server is intercepted.

  2. When an HTTPS URL is encountered sslstrip replaces it with an HTTP link and keeps a mapping of the changes.

  3. The attacking machine supplies certificates to the web server and impersonates the client.

  4. Traffic is received back from the secure website and provided back to the client.

The process works quite well and as far as the server is concerned it is still receiving the SSL traffic it wants to, it doesn’t know the difference. The only visible difference in the user experience is that the traffic will not be flagged as HTTPS in the browser, so a cognizant user will be able to notice that something is amiss.

Using SSLStrip

The program that makes all of this happen is called SSLstrip and is available from here. This program only runs on Linux so you can download and install it yourself, or if you don’t want to deal with the hassle of installing it yourself you can download and run Backtrack 4 which has it preinstalled.

Once you have access to SSLstrip there are a few perquisite tasks that must be done. First of all, the Linux distribution you are using must be configured for IP forwarding. To do this, enter the command echo "1" > /proc/sys/net/ipv4/ip_forward into a shell.


Figure 3: Enabling IP Forwarding

Once this has been done, we have to force all HTTP traffic that is intercepted to be routed to the port that SSLstrip will be listening on. This is done by modifying the iptables firewall configuration. This is done by using the command iptables -t nat -A PREROUTING -p tcp --destination-port 80 -j REDIRECT --to-port .


Figure 4: Configuring IPTables to properly route HTTP traffic

Of course, you will replace with a random port of your choice. After these items have been configured we can run sslstrip and configure it to listen on the port specified with the command sslstrip -l .


Figure 5: Using sslstrip

The last step in this process is to configure ARP spoofing to intercept the traffic of the target host. We did this using Cain and Abel in Windows previously, but in this case we will use the arpspoof utility, which is built into Backtrack 4. The command to do this is arpspoof -i -t .


Figure 6: Configuring ARP Spoofing

Using this command you would substitute for the network interface you are performing these actions on (eth0, eth1, etc), for the IP address of the target client, and for the IP address of the gateway router the target is using.

Once completed you should be actively hijacking any SSL connections being established. From here you can fire up a packet sniffer and collect passwords, personally identifiable information, credit card numbers, etc from the traffic.

Defending Against SSL Hijacking

As discussed previously, SSL hijacking in this manner is virtually undetectable from there server side of the equation because as far as the server is concerned this is just normal communication with a client. It has no idea that it is communicating to a client by proxy. Luckily, there are a few things that can be done from the client’s perspective to detect and prevent these types of attacks.

  • Ensure Secure Connections Use HTTPS - When you perform the attack described here it strips the secure aspect of the connection away, which is visible in the browser. This means that if you log into your online banking and notice that it is just a standard HTTP connection there is a good chance something is wrong.  Whatever browser you choose to use, you should ensure you know how to distinguish secure connections from insecure ones.

  • Save Online Banking for Home - The chance of somebody intercepting your traffic on your home network is much less than on your work network. This isn’t because your home computer is more secure (let’s face it, its probably less secure), but the simple matter of fact is that if you only have one or two computers at home, the most you have to worry about in terms of session hijacking is if your 14 year old son starts watching hacking videos on YouTube. On a corporate network you don’t know what is going on down the hall or in the branch office 200 miles away, so the potential attack sources multiply. One of the biggest targets for session hijacking is online banking, but this principal applies to anything.

  • Secure your internal machines - Not to beat a dead horse, but once again, attacks like these are most commonly executed from inside the network. If your network devices are secure then there is less of a chance of those compromised hosts being used to launch a session hijacking attack.

This form of MITM attack is one of the deadliest because it takes what we think is a secure connection and makes it completely insecure. If you consider how many secure sites you visit each day and then consider the potential impact if all of those connections were insecure and that data fell into the wrong hands then you will truly understand the potential impact this could have on you or your organization.


Liên hệ DNA

 

Mobile  +84 (28) 38 266 877
  +84 (28) 39 401 619

 

Location  DNA Headquarter
  60 Nguyễn Đình Chiểu

  F1 Rosana Tower, Quận 1
         TP.Hồ Chí Minh, Việt Nam