Tải bản đầy đủ (.pdf) (24 trang)

Bài tập lớn môn an toàn mạng (35)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.15 MB, 24 trang )

HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG
KHOA CƠNG NGHỆ THƠNG TIN I
----------

BÁO CÁO TIỂU LUẬN
MƠN AN TỒN MẠNG
CHỦ ĐỀ: TÌM HIỂU CƠNG CỤ EDB-DEBUGGER

Giảng viên:

TS. Đặng Minh Tuấn

Sinh viên:

Trần Ngọc Hà

B18DCAT066

Hà Nội, tháng 12/2021


Mục lục
Danh mục hình vẽ ....................................................................................................2
DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ ..................................................3
LỜI NÓI ĐẦU ..........................................................................................................4
CHƯƠNG 1: KHÁI QUÁT VỀ EBD-DERBUGGER..........................................5
I. Sơ lược về Kali-Linux: .........................................................................................5
II. Giới thiệu về Edb-derbugger: ............................................................................6
III. Lịch sử phát triển: .............................................................................................7
III. Trình biên dịch: .................................................................................................9
IV. Các tính năng chính: .......................................................................................10


CHƯƠNG 2: CÀI ĐẶT EDB-DERBUGGER: ...................................................11
I. Cài đặt thông qua bản Debian 9: ......................................................................11
II. Chạy thử EDB sau khi cài đặt: ........................................................................13
III. Thêm đường dẫn môi trường:........................................................................16
IV: Thư mục biểu tượng của EDB-Debugger: ....................................................19
CHƯƠNG 3: CÁCH THỨC HOẠT ĐỘNG VÀ MÃ NGUỒN .........................21
I. Cách thức hoạt động: .........................................................................................21
II. Mã nguồn và Plugins: .......................................................................................22
Tài liệu tham khảo: ................................................................................................23

1


Danh mục hình vẽ
Hình 1. Kali-Linux .....................................................................................................5
Hình 2. Logo Edb-debugger ......................................................................................7
Hình 3. Timeline của EDB.........................................................................................7
Hình 4. Người đóng góp ............................................................................................8
Hình 5. Phiên bản 1.3.0-1 ..........................................................................................8
Hình 6. Các gói được sử dụng ...................................................................................9
Hình 7. Cài đặt trên Linux qua Debian 9 .................................................................11
Hình 8. Kết quả cài đặt.............................................................................................12
Hình 9. Kết quả sau khi clone ..................................................................................12
Hình 10. Quá trình build EDB .................................................................................13
Hình 11. Kết quả sau khi khởi đơngj EDB ..............................................................13
Hình 12. Kết quả khi make ......................................................................................14
Hình 13. Hồn thành q trình Build .......................................................................14
Hình 14. Tiến hành khởi động EDB ........................................................................15
Hình 15. Giao diện của EDB ...................................................................................15
Hình 16. #vi.bashrc ..................................................................................................16

Hình 17. Thêm PATH cho EDB ..............................................................................17
Hình 18. Kết quả sau khi thêm PATH .....................................................................17
Hình 19. Gui của EDB khi thực hiện .......................................................................18
Hình 20. EDB-Debugger symbol mapper................................................................19
Hình 21. EDB.Debugger symbol mapper ................................................................20
Hình 22. Treemap của EDB .....................................................................................22
Hình 23. Các plugins được sử dụng .........................................................................22

2


DANH MỤC TỪ VIẾT TẮT VÀ THUẬT NGỮ

Từ viết tắt/thuật ngữ

Giải thích/giải nghĩa

Evan's Debugger

EDB Debugger

GDB

GNU Debugger

GUI

API

Graphical User Interface

(Giao diện đồ họa người dung)
Application Programming Interface
(Giao diện lập trình ứng dụng)

3


LỜI NĨI ĐẦU
Với sự phát triển ngày càng nhanh chóng của Internet và các ứng dụng giao
dịch điện tử trên mạng, nhu cầu bảo vệ thông tin trong các hệ thống và ứng dụng
điện tử ngày càng được quan tâm và có ý nghĩa hết sức quan trọng. Vì thế việc
nghiên cứu về dịch ngược và ứng dụng nó trong các lĩnh vực bảo mật thông tin là
rất cần thiết.
Các hoạt động của con người ngày nay phụ thuộc nhiều vào công nghệ
thông tin và truyền thông. Điều này khiến cho các cá nhân, tổ chức và các quốc gia
dễ bị tấn công qua các hệ thống thông tin, như các hình thức Hacking (thâm nhập
trái phép), Cyberterrorism (khủng bố mạng), Cybercrime (tội phạm mạng) cũng
như các hình thức tương tự. [1] Vì thế nên vai trị của an tồn mạng, bảo mật thông
tin là rất quan trọng.
Kali Linux là một hệ điều hành được sử dụng nhiều trong lĩnh vực bảo mật,
bởi cả những hacker tìm cách xâm nhập hệ thống và những chuyên gia về bảo mật
muốn bảo vệ các tài nguyên thông tin. Kali Linux cung cấp rất nhiều công cụ cho
những tác vụ liên quan đến bảo mật.
Edb là trình gỡ lỗi AArch32 / x86 / x86-64 đa nền tảng. Nó được lấy cảm
hứng từ Ollydbg, nhưng nhằm mục đích hoạt động trên AArch32, x86 và x86-64
cũng như nhiều hệ điều hành. Linux là nền tảng duy nhất được hỗ trợ chính thức
tại thời điểm này, nhưng các cổng FreeBSD, OpenBSD, OSX và Windows đang
được tiến hành với các mức độ chức năng khác nhau.
Vì chủ đề nghiên cứu còn mới lạ nên bài làm còn nhiều thiếu sót, hy vọng
thầy sẽ góp ý để bài làm của em trở nên hoàn thiện hơn.


4


CHƯƠNG 1: KHÁI QUÁT VỀ EBD-DERBUGGER

I. Sơ lược về Kali-Linux:
Kali Linux (trước đây được gọi là BackTrack Linux) là một bản phân phối
Linux dựa trên Debian mã nguồn mở nhằm mục đích Kiểm tra thâm nhập
(Penetration Testing) và Kiểm tra bảo mật (Security Auditing). Kali Linux chứa hàng
trăm công cụ nhắm mục tiêu đến các nhiệm vụ bảo mật thông tin khác nhau, chẳng
hạn như Kiểm tra Thâm nhập (Penetration Testing), nghiên cứu bảo mật (Security
research), pháp lý máy tính (Computer Forensics), Kỹ thuật đảo ngược (Reverse
Engineer) và đánh giá an ninh mạng (Security Assessment). Kali Linux là một giải
pháp đa nền tảng, hồn tồn miễn phí cho các chun gia bảo mật thơng tin và những
người u thích nó.

Hình 1. Kali-Linux

5


Kali Linux được cài đặt sẵn hơn 600 chương trình kiểm tra thâm nhập. Mỗi
chương trình với tính linh hoạt và trường hợp sử dụng riêng. Kali Linux thực hiện
công việc xuất sắc khi phân tách các tiện ích hữu ích này thành các danh mục sau:
1. Thu thập thông tin (Information Gathering)
2. Phân tích lỗ hổng bảo mật (Vulnerability Analysis)
3. Tấn công không dây (Wireless Attacks)
4. Ứng dụng web (Web Applications)
5. Công cụ khai thác (Exploitation Tools)

6. Kiểm tra áp lực (Stress Testing)
7. Công cụ pháp lý (Forensics Tools)
8. Đánh hơi & giả mạo (Sniffing & Spoofing)
9. Tấn công bằng mật khẩu (Password Attacks)
10.Duy trì quyền truy cập (Maintaining Access)
11.Kỹ thuật đảo ngược (Reverse Engineering)
12.Công cụ báo cáo (Reporting Tools)
13.Xâm nhập phần cứng (Hardware Hacking)

II. Giới thiệu về Edb-derbugger:
EDB Debugger của Evan Teran (được gọi tắt là Evan's Debugger) được cấp
phép theo Giấy phép Công cộng GNU v2.0 (GPL v2.0). Edb (Evan's Debugger) là
một trình gỡ rối và gỡ lỗi mô-đun và hiện đại cho các tệp ELF nhị phân dựa trên
API ptrace và trình tháo gỡ capstone thư viện.
EDB Debugger là một trình gỡ lỗi dựa trên GUI có khả năng thực hiện phân
tích tĩnh và động của các tệp nhị phân, tương tự như GNU Debugger (GDB). Sự
khác biệt duy nhất là GDB khơng có GUI như EDB Debugger. Edb là trình gỡ lỗi
AArch32 / x86 / x86-64 đa nền tảng. Nó được lấy cảm hứng từ Ollydbg, nhưng
nhằm mục đích hoạt động trên AArch32, x86 và x86-64 cũng như nhiều hệ điều
hành. Linux là nền tảng duy nhất được hỗ trợ chính thức tại thời điểm này, nhưng
các cổng FreeBSD, OpenBSD, OSX và Windows đang được tiến hành với các
mức độ chức năng khác nhau.
6


Ngôn ngữ được sử dụng chủ yếu là C/C++ với phiên bản gần nhất trên
Linux là 1.3.0 được phát hành vào năm nay.

Hình 2. Logo Edb-debugger


III. Lịch sử phát triển:
Được ra mắt lần đầu vào ngày 22 tháng 3 năm 2015, được đóng góp thường
xuyên bởi các thành viên tham gia vào dự án.

Hình 3. Timeline của EDB
7


Những người đóng góp chính:

Hình 4. Người đóng góp

Hình 5. Phiên bản 1.3.0-1
8


III. Trình biên dịch:
• Biên dịch EDB nói chung là khá đơn giản. Bản phát hành mới nhất
của edb hiện phụ thuộc vào các gói sau:

Hình 6. Các gói được sử dụng

9


IV. Các tính năng chính:













Có giao diện GUI, được các nhà phát triển gọi là trực quan.
Thao tác gỡ lỗi tiêu chuẩn (bước vào / bước qua / chạy / ngắt)
Các điểm ngắt có điều kiện bất thường hơn
Một lõi gỡ lỗi được triển khai dưới dạng một plugin (có thể thêm vào
các plugin lõi thay thế)
Một số nền tảng có thể có sẵn một số API gỡ lỗi, trong trường hợp đó
có thể có một plugin triển khai bất kỳ API nào trong số đó
Phân tích hướng dẫn cơ bản
Xem / kết xuất các vùng bộ nhớ
Kiểm tra địa chỉ hiệu quả
Chế độ xem kết xuất dữ liệu được sắp xếp theo thẻ, cho phép bạn mở
một số chế độ xem bộ nhớ cùng một lúc để bạn có thể nhanh chóng
chuyển đổi giữa
Và cịn rất nhiều điều quan trọng khác...

10


CHƯƠNG 2: CÀI ĐẶT EDB-DERBUGGER:

I. Cài đặt thông qua bản Debian 9:


Hình 7. Cài đặt trên Linux qua Debian 9
• Thông qua câu lệnh: apt-get install
pkg-config
\
cmake
\
build-essential
\
libboost-dev
\
libqt5xmlpatterns5-dev \
qtbase5-dev
\
qt5-default
\

11

\


Hình 8. Kết quả cài đặt
• Git clone thơng qua câu lệnh: “# build and run edb
git clone --recursive />
Hình 9. Kết quả sau khi clone
12


II. Chạy thử EDB sau khi cài đặt:
• Câu lệnh: “cd edb-debugger

mkdir build
cd build
cmake ..
make
./edb”
• Q trình cài đặt:

Hình 10. Quá trình build EDB

Hình 11. Kết quả sau khi khởi đôngj EDB

13


Hình 12. Kết quả khi make

Hình 13. Hồn thành q trình Build

14


Hình 14. Tiến hành khởi động EDB

Hình 15. Giao diện của EDB

15


III. Thêm đường dẫn mơi trường:


Hình 16. #vi.bashrc

16


Hình 17. Thêm PATH cho EDB

Hình 18. Kết quả sau khi thêm PATH

17


Hình 19. Gui của EDB khi thực hiện

18


IV: Thư mục biểu tượng của EDB-Debugger:
• EDB-Debugger có thể cung cấp một bản đồ ký hiệu thông qua mục nhập
dịng lệnh sau:

Hình 20. EDB-Debugger symbol mapper
• Bảng ký hiệu ánh xạ các hàm, dòng hoặc biến trong một chương trình.
Trong trường hợp của gedit, bảng ký hiệu trơng như sau:

19


Hình 21. EDB.Debugger symbol mapper


20


CHƯƠNG 3: CÁCH THỨC HOẠT ĐỘNG VÀ MÃ NGUỒN

I. Cách thức hoạt động:
• Bắt đầu bằng cách thay đổi thư mục làm việc hiện tại của mình thành ~ /
bac, mà chúng tôi đã tạo trong công thức trước. Sau khi thư mục làm việc
hiện tại của chúng tôi bị thay đổi, chúng tôi đã sử dụng Git để sao chép mã
nguồn EDB Debugger từ kho lưu trữ của nó trên GitHub. Tiếp theo, chúng
tôi làm theo hướng dẫn của nhà phát triển bằng cách tạo một thư mục xây
dựng bên trong thư mục edb-debugger, thay đổi thư mục làm việc hiện tại
của chúng tôi thành thư mục xây dựng đó, chạy cmake dựa trên thư mục
edb-debugger chính, được ký hiệu bằng .. trong lệnh cmake, và cuối cùng,
chạy make để biên dịch mã từ makefile được cung cấp của nhà phát triển.
• Khi q trình biên dịch hồn tất, chúng tôi đã tạo một liên kết tượng trưng
đến tệp nhị phân trong thư mục xây dựng bên trong thư mục / usr / local /
bin trên máy ảo của chúng tôi. Cuối cùng, nhưng không kém phần quan
trọng, chúng tơi đã xác minh rằng q trình biên dịch diễn ra tốt đẹp bằng
cách thực sự chạy tệp nhị phân từ phiên Terminal đang hoạt động của chúng
tôi. Nếu bạn nhận được cửa sổ bắt đầu giống như tôi đã làm, bạn đã sẵn sàng
chuyển sang công thức tiếp theo. Xin lưu ý rằng bạn cần thực hiện công thức
này trên cả máy ảo Ubuntu 32-bit và 64-bit.
• Cịn nữa: Khi chúng tôi truy xuất mã nguồn bằng Git, cờ --recursive cũng
truy xuất tất cả các mô-đun con và plugin có sẵn từ kho lưu trữ dành cho nhà
phát triển. Đọc wiki về các plugin có sẵn: />
21


II. Mã nguồn và Plugins:


Hình 22. Treemap của EDB
edb là một trình gỡ lỗi x86 / x86-64 đa nền tảng đồ họa. Nó được lấy cảm hứng từ
Ollydbg, nhưng nhằm mục đích hoạt động trên x86 và x86-64 cũng như nhiều hệ
điều hành. Linux là nền tảng duy nhất được hỗ trợ chính thức tại thời điểm này,
nhưng các cổng FreeBSD, OpenBSD, OSX và Windows đang được tiến hành với các
mức độ chức năng khác nhau.

Hình 23. Các plugins được sử dụng

22


Tài liệu tham khảo:
Kali.org.
(2021).
Edb-Debugger.
Retrieved
/>Kali.org.
(2021).
Kali.
Retrieved
/>
from

from

kali.org:

/>

O’Reilly Media, Inc. (2021). EDB-Debugger symbol mapper. Retrieved from
Oreilly:
/>Packt.

(2021).
Retrieved
from
/> />sec09/installing-the-edb-debugger

Teran, E. (2021, 24 12). Github. Retrieved
/>
23

from />


×