Kéo mạng hay cấp nguồn? (để chống lại một máy chủ đã root)


11

Khi một máy chủ được root ( ví dụ như một tình huống như thế này ), một trong những điều đầu tiên mà bạn có thể quyết định làm là ngăn chặn . Một số chuyên gia bảo mật khuyên không nên khắc phục ngay lập tức và giữ cho máy chủ trực tuyến cho đến khi pháp y được hoàn thành. Những lời khuyên thường dành cho APT . Sẽ khác nếu bạn thỉnh thoảng vi phạm Script kiddie , vì vậy bạn có thể quyết định khắc phục sớm (sửa chữa mọi thứ) sớm. Một trong những bước trong khắc phục là ngăn chặn máy chủ. Trích dẫn câu trả lời của Robert Moir - "ngắt kết nối nạn nhân khỏi những kẻ buôn lậu".

Một máy chủ có thể được chứa bằng cách kéo cáp mạng hoặc cáp nguồn .

Phương pháp nào tốt hơn?

Cân nhắc sự cần thiết cho:

  1. Bảo vệ nạn nhân khỏi thiệt hại nặng hơn
  2. Thực hiện pháp y thành công
  3. (Có thể) Bảo vệ dữ liệu có giá trị trên máy chủ

Chỉnh sửa: 5 giả định

Giả định:

  1. Bạn phát hiện sớm: 24 giờ.
  2. Bạn muốn phục hồi sớm: 3 ngày của 1 quản trị viên hệ thống trong công việc (pháp y và phục hồi).
  3. Máy chủ không phải là Máy ảo hoặc Container có thể chụp ảnh nhanh chụp nội dung của bộ nhớ máy chủ.
  4. Bạn quyết định không cố gắng truy tố.
  5. Bạn nghi ngờ rằng kẻ tấn công có thể đang sử dụng một số dạng phần mềm (có thể tinh vi) và phần mềm này vẫn đang chạy trên máy chủ.

2
Bạn cũng có thể muốn ghé qua đây: security.stackexchange.com
sysadmin1138


2
@Tom - đó không phải là một bản sao, đó là một cuộc thảo luận mở rộng về một điểm cụ thể từ câu hỏi đó.
mfinni

3
@ sysadmin1138, đặc biệt hãy thử bảo
mật.stackexchange.com / q / 1.81 /

Câu trả lời:


6

Nếu bạn đang đối mặt với một APT, thì lựa chọn tốt nhất của bạn là thiết lập một honeypot và điều tra kỹ lưỡng tất cả lưu lượng truy cập vào và ra khỏi nó, ngoài việc giám sát máy chủ.

Biện pháp vượt qua bộ nhớ rất tốn kém về thời gian và công sức mà thường không đáng giá trừ khi bạn đã thử mọi phương pháp khác và nếu bạn xác định rằng nó đáng giá, thì tốt nhất là thiết lập một honeypot cho phép bạn dễ dàng đổ bộ nhớ và trạng thái hệ thống cho một máy khác đang hoạt động để bạn có thể phân tích với ít mối đe dọa bị phát hiện hơn khi máy đang hoạt động.

Tôi đã có một tình huống mà kẻ tấn công giữ mọi thứ trong bộ nhớ ở mức độ, ngoại trừ các bản ghi, máy trông giống hệt như hình ảnh của nó một khi tắt và bật lại. Sau đó, họ sẽ hack trở lại và bắt đầu sử dụng lại vì lỗ hổng vẫn còn đó - họ không cần phải để lại bất kỳ cửa hậu nào. Một đánh giá bộ nhớ có thể đã giúp ở đây, nhưng xem lưu lượng truy cập là đủ trong trường hợp này để xác định lỗ hổng một cách nhanh chóng.

Vì thế:

Lý do duy nhất để tránh mất điện và thực hiện đánh giá đĩa ngoại tuyến là nếu bạn sẽ trải qua nỗi đau khi thực hiện phân tích bộ nhớ kỹ lưỡng về mối đe dọa trong khi nó đang hoạt động và vận hành. Nếu bạn đã đạt đến điểm cần thiết, thì không có lý do gì để rút phích cắm cả.

Nếu bạn không thực hiện phân tích bộ nhớ, thì rút phích cắm điện là cách tốt nhất của bạn - rút ethernet (hoặc sử dụng lệnh tắt máy) sẽ chỉ đưa ra thông báo trước về phần mềm của kẻ tấn công - điều này đôi khi rất quan trọng.

Vì thế:

Kéo cả hai, trừ khi bạn đang thực hiện phân tích bộ nhớ, trong trường hợp đó, không kéo cả hai.


16

RAM forensics (ví dụ / dev / shm) có thể hữu ích.

Nhưng tôi thích rút cáp nguồn hơn (nhưng hãy thử đăng nhập và rsync / Proc ngay trước đó).

Những lý do để đi cáp điện là:

  1. Khi bạn làm pháp y trong một hệ thống bị tấn công, bạn đang "bước qua hiện trường vụ án"
  2. Bộ công cụ gốc tiếp tục chạy - không quá khó để kẻ độc hại thực thi một cái gì đó (ví dụ như xóa sạch hệ thống) trong sự kiện Network Link Down .

Kyle Rankin đã có một bài giới thiệu hay về Forensics - ở đó anh ấy khuyên bạn nên kéo cáp điện.


+1 cho "bước qua hiện trường vụ án". Trừ khi bạn biết chính xác những gì bạn đang làm, hoặc không thực sự quan tâm để thu thập bằng chứng pháp y chính xác, thì bạn có thể muốn gọi cho các chuyên gia thay vì làm ô nhiễm bằng chứng khi bạn học cách làm pháp y ...
dunxd

10

Ngắt kết nối mạng. Kẻ tấn công không thể lấy bất kỳ thông tin bổ sung nào nếu không có kết nối mạng. Rất khó (đọc: không thể) để thực hiện bất kỳ pháp y nào mà không có quyền lực.


3
Bạn có thể (và có lẽ nên) thực hiện pháp y từ ngoại tuyến (A) qua CD trực tiếp, (B) bằng cách di chuyển ổ cứng sang hệ thống khác hoặc (C) sau khi chụp ảnh các ổ cứng bị ảnh hưởng (qua CD trực tiếp) .
Alexanderr Levchuk

3
Bằng chứng hữu ích thường có trong bộ nhớ. Điều này cần phải được cho phép trước khi mất điện.
Sirex

Ngoài ra, hãy suy nghĩ để ngắt kết nối giao diện LOM an toàn :)
Kedare

7

Trong thời đại ngày nay, nó có thể là một Máy ảo nên một trong hai phương pháp rất dễ dàng và thậm chí có thể được thực hiện từ xa. (Tất nhiên, máy ảo cũng phát sinh khả năng sử dụng ảnh chụp nhanh)

Tôi khuyên bạn nên ngắt kết nối mạng như một bước đầu tiên tự động, bởi vì điều này cho bạn thời gian để suy nghĩ xem bước tiếp theo sẽ là gì, cho dù bước tiếp theo là rút dây nguồn hay thứ gì khác. Nếu bạn biết "quy trình phản hồi bảo mật" của công ty sẽ không cho phép bạn dành thời gian tìm hiểu chi tiết về máy thì việc bảo quản nội dung của RAM có thể không quan trọng.

Tôi đề nghị rằng việc "tách nạn nhân khỏi những kẻ lừa đảo" được thực hiện theo bất kỳ cách nào quan trọng hơn cách thức, vì vậy cả hai cách tiếp cận đều hợp lệ. Tôi không có vấn đề gì với việc tự kéo dây điện, hãy để nó theo cách đó.


+1 cho VM. Nếu bạn rút phích cắm mạng, rootkit sẽ tiếp tục chạy - không quá khó để kẻ độc hại thực thi một cái gì đó (ví dụ như xóa sạch hệ thống) trong sự kiện Network Link Down
Alexanderr Levchuk

6
Ảnh chụp trạng thái hệ thống đang chạy là một ý tưởng tuyệt vời Tôi tự bực mình vì không nghĩ về nó.
jgoldschrafe

@Alexsandr - Tôi đã cố gắng nghĩ về ví dụ thực tế và tôi đang vẽ trống, nhưng tôi dường như nhớ lại một rootkit hoàn toàn nằm trong bộ nhớ nên sẽ bị mất khi rút phích cắm. Tôi nghĩ đó là trường hợp của một trong hai cách có nguy cơ mất bằng chứng.
Rob Moir

6

Đây không phải là một hoặc một tình huống. Bạn thường muốn thực hiện cả hai - bạn muốn thực hiện một số pháp y nhất định (kết xuất các quy trình đang chạy, ổ cắm nghe, tệp trong / tmp, v.v.) trên một hệ thống đã bị xóa khỏi mạng và sau đó thực hiện chẩn đoán còn lại của bạn từ an toàn môi trường (tức là một đĩa CD sống). Tuy nhiên, có những tình huống không phải là cách tiếp cận đúng, và bạn cần suy nghĩ và hiểu những gì có thể có trong tổ chức của bạn.


Nếu bạn rút phích cắm mạng, rootkit sẽ tiếp tục chạy - không quá khó để mã độc thực thi một cái gì đó (ví dụ như xóa sạch hệ thống) trong sự kiện Network Link Down .
Alexanderr Levchuk

Điều đó hoàn toàn đúng, và đó là cơ hội bạn phải đánh giá và quyết định xem bạn có muốn thực hiện hay không tùy thuộc vào mức độ nhạy cảm của tình huống. Một số rootkit chỉ tồn tại trong bộ nhớ và nếu bạn tiêu diệt sức mạnh của hệ thống, bạn sẽ loại bỏ mọi cơ hội tìm ra cách nó đến đó. Bạn có thể thử chặn lưu lượng truy cập khỏi cổng chuyển đổi trong khi vẫn giữ trạng thái liên kết, nhưng bất kỳ rootkit nào cũng là phần mềm và có thể làm bất cứ điều gì mà bất kỳ phần mềm nào khác có thể làm - không có gì ngăn chúng phát hiện cổng mặc định và đặt bom giống nhau nếu không thể truy cập được.
jgoldschrafe

4

Trước khi bạn làm bất cứ điều gì, hãy tìm hiểu nếu bạn cần lưu giữ bằng chứng cho một vụ truy tố cuối cùng. Xử lý bằng chứng là một chủ đề rất khó khăn và không dành cho những người được đào tạo yếu. Một khi bạn đã trả lời điều đó, thì người pháp y máy tính được đào tạo có thể lấy nó từ đó.


1
Đầu tiên, tôi nghĩ người ta có nên quyết định truy tố hay không? . Kyle Rankin trong bài nói chuyện của mình ( goo.gl/g21Ok ). Bắt đầu bằng cách thảo luận về điều này. Để truy tố người ta sẽ cần cung cấp bằng chứng về sự mất mát đáng kể về tiền tệ.
Alexanderr Levchuk

1
@Aleksander Nói chung, bạn cần biết rất sớm trong quá trình liệu bạn có thể sử dụng lại phần cứng và dữ liệu bị xâm nhập hay không nếu bạn phải lưu trữ nó và xây dựng một hệ thống mới từ các bộ phận hoàn toàn mới. Điều này rất có thể trước khi bạn thậm chí chứng minh tổn thất danh tiếng tài chính hoặc kinh doanh. Bảo tồn chuỗi bằng chứng cần phải xảy ra ngay khi ai đó nhận ra một sự kiện có khả năng hành động đã xảy ra.
sysadmin1138

Thường thì tốt nhất để bắt đầu với việc giữ các tùy chọn mở truy tố lại hay không, vì bạn có thể không biết liệu có mất tiền tệ hay không, vì vậy trong giai đoạn đầu làm mọi thứ theo cuốn sách, việc giữ chuỗi hành trình là rất quan trọng.
Rory Alsop

3

Không cần tắt nguồn máy chủ. Bạn chỉ có thể vô hiệu hóa kết nối từ cổng / bộ định tuyến biên. Một quy tắc tường lửa sẽ đủ để loại bỏ bất kỳ gói gửi / nhận nào.


+1 Đó là một lý do tại sao có một cổng là một ý tưởng tốt. Nhưng nếu bạn không có thì sao? Nếu bạn rút cáp mạng trực tiếp - rootkit có thể nhận sự kiện Network Link Down . Và không đăng nhập vào máy chủ đã root và thực hiện một cái gì đó vào ngày 0 là một ý tưởng tồi?
Alexanderr Levchuk

2

Câu trả lời phụ thuộc phần lớn vào ý của bạn khi "root". Kéo đầu mạng thường là một ý tưởng hay, cụ thể nếu bạn tin rằng đây là một kẻ tấn công chủ động của con người đang tìm kiếm thông tin nhạy cảm.

Kéo điện khó hơn nhiều để trả lời. Nếu bạn cảm thấy có mã độc đang chạy có thể che dấu vết của nó, hãy làm như vậy. Tuy nhiên nếu bạn cảm thấy có thể có bằng chứng về sự đột nhập trong bộ nhớ, hãy để nó chạy.

Nhìn chung, điều này phụ thuộc vào việc bạn đang xử lý mã độc, nhân viên bất mãn hay ai đó có mục tiêu cụ thể trong đầu.

Nếu lỗi ở phía thận trọng, kéo điện. Bạn sẽ mất một lượng nhỏ bằng chứng tiềm năng, nhưng có thể ngăn chặn việc loại bỏ rất nhiều bằng chứng khác bằng mã tự động.

- Sau đó, một lần nữa, nếu bạn cảm thấy máy bị xâm nhập và bạn biết rằng nó không có dữ liệu nhạy cảm trên đó, bạn rất tin tưởng vào bảo mật mạng của mình ở nơi khác và hiểu hậu quả của việc đó, có thể nhận được một tài liệu pháp y trong asap và xem nếu bạn có thể theo dõi hoặc hiểu cuộc tấn công và đi từ đó. Đó thường không phải là một ý tưởng tốt, mặc dù


1

Câu trả lời của tôi là trước khi chỉnh sửa, với 5 giả định.
Giả định của tôi là nếu máy chủ của bạn đã được root, bạn đang đối phó với một kẻ tấn công nhắm mục tiêu tinh vi và bạn không có cách nào biết được cuộc tấn công đến từ đâu và từ đâu. (Vì máy đã được root, rõ ràng bạn không thể tin bất cứ điều gì nó nói với bạn. Tuy nhiên, bạn có thể có một số thông tin bên ngoài, ví dụ IDS ...)
Tôi cũng giả sử rằng bạn có hứng thú với việc xử lý kẻ tấn công của mình và không chỉ vẫy tay Anh tắt như một con ruồi phiền phức. Nếu kẻ tấn công giả định là một kiddie kịch bản, điều này sẽ khác. Tôi cũng cho rằng, vì kẻ tấn công được nhắm mục tiêu và tinh vi, có khả năng chúng có phần mềm tùy chỉnh chạy trên máy của bạn, có thể đáp ứng hành động của bạn trên nó ...


Cũng không.
Hãy xem /security//q/181/33 , dù đó là một ý tưởng tồi.
Nó giống như đưa một vài chiếc băng đô cho hiệp sĩ đen ... quá ít, quá muộn, nó sẽ không giúp được gì nhiều.


Đối với tất cả những người cảm thấy rằng câu trả lời này quá xa vời, hoặc chỉ không đủ "ý thức bảo mật" - bạn cần nhận ra rằng đã quá muộn .
Nó không phải là máy chủ của bạn nữa, ngay cả khi bạn ngắt kết nối hoàn toàn. Ngay cả khi bạn tắt máy, hãy chạy tất cả AV của bạn và bất cứ điều gì - bạn không sở hữu nó nữa, họ vẫn làm.
Đó là định nghĩa của "gốc".

Bây giờ, giả sử rằng họ sở hữu nó, và có thể che giấu quyền sở hữu của họ với bạn, bạn cần xem xét - điều gì sẽ làm mất kết nối nó?
Điều duy nhất nó sẽ đạt được - vì nó sẽ tiếp tục được bắt nguồn bất kể - là để cho đối thủ của bạn biết bạn đang ở bên họ. Điều này chỉ đơn giản là đặt lính gác của họ lên, và khiến họ bắt đầu tự dọn dẹp (nếu họ chưa có), điều này sẽ giết chết mọi hy vọng của pháp y.
Bạn vẫn không bảo vệ máy chủ đó hoặc bất kỳ dữ liệu nào của nó. Nó đã được root bao lâu rồi ? Sao bạn biết?

Bạn đang làm gì tốt hơn:

  • Để máy chủ hoạt động và chạy ...
  • Cô lập nó khỏi phần còn lại của mạng nội bộ của bạn, các máy chủ khác, v.v. - nhưng tốt nhất là cắm một loại mô phỏng nào đó, để nó có vẻ như được kết nối.
  • Lặng lẽ bắt đầu thời gian thực / pháp y mạng, chạy dấu vết, vv
  • Hãy thử và tìm ra mức độ và độ dài của thiệt hại (rõ ràng là khác nhau nếu nó xảy ra cách đây 2 giờ hoặc 2 tháng trước).
  • Tiếp tục từ đó ... Chỉ sau khi giảm thiểu thiệt hại thực tế , hãy tiếp tục và dọn sạch nó.
  • Tất nhiên đừng quên điều tra nguyên nhân gốc rễ và thực thi mọi biện pháp kiểm soát để đảm bảo nó không xảy ra lần nữa ...

2
Tôi nghĩ rằng điều này có thể hoạt động trong một tình huống mà bạn có thể nhanh chóng chuyển nó sang một môi trường giả lập / cô lập, nhưng rất ít tổ chức có thể làm điều này trong thực tế họ muốn đi đến khía cạnh 'giảm thiểu tác động', để tháo gỡ sức mạnh hoặc mạng thường là loại bỏ ngay mối đe dọa đó. (vẫn + 1'ed bạn như tôi muốn nó như thế này :-)
Rory Alsop

Vấn đề @Rory là bạn không thể giảm thiểu tác động, máy chủ đã bị xóa. Bạn sẽ không nhận lại được điều đó và bất kỳ dữ liệu nhạy cảm nào cũng có khả năng bị đánh cắp, vì bạn không biết họ đã truy cập được bao lâu. Điều đó nói rằng, môi trường giả lập chỉ là đóng băng, đó là sự cô lập quan trọng - và tôi tin rằng hầu hết các tổ chức đều có tường lửa vững chắc, lật một vài quy tắc truy cập và bạn là vàng. Đó là một lý do khác khiến các máy chủ có thể truy cập phải nằm trong DMZ - làm cho phần đó dễ dàng hơn ....
AviD

Ngoài ra, tôi muốn làm cho một cái gì đó rõ ràng - áp dụng ở trên khi hệ điều hành được root . Nếu có một số dạng lỗ hổng cấp độ ứng dụng (ví dụ: SQL Injection) đang được khai thác trong trang web của bạn, TUYỆT ĐỐI hãy tắt nó và kéo tất cả các dây bạn có thể sử dụng! Nhưng hệ điều hành gốc thì khác - chúng kiểm soát toàn bộ cơ sở hạ tầng của máy bạn. Bạn không còn có quyền kiểm soát.
AviD

2
không, ý tôi là giảm thiểu tác động vượt ra khỏi cái máy đã root. Tôi đồng ý rằng nó hoàn toàn bị mất, nhưng trừ khi bạn có thể bị cô lập nhanh chóng, bạn không có cách nào để biết bộ điều khiển có thể làm gì với phần còn lại của hệ thống của bạn
Rory Alsop

0

Có xem xét các giả định của bạn làm cả hai. Sử dụng phương tiện dựa trên CD / DVD để kết xuất trạng thái hiện tại. Chủ yếu bạn sẽ muốn có thể nhận ra bạn đã bị xâm phạm như thế nào. Bạn cũng có thể muốn cố gắng khôi phục dữ liệu người dùng không có trên hình ảnh sao lưu của bạn. Bạn

Sau đó, xây dựng lại hệ thống từ phương tiện sao lưu mới nhất không bị ô nhiễm. Xác nhận điều này với tổng kiểm tra nếu có thể. Hoặc, cài đặt lại phần mềm từ phương tiện cài đặt và cấu hình lại. Cấu hình lại phải tự động nếu bạn đang sử dụng Puppet hoặc cfEngine để định cấu hình máy chủ của mình.

Tải lại dữ liệu người dùng và quét các thành phần root root. Xác nhận bạn không có chương trình setuid hoặc setgid trong thư mục dữ liệu.

Xác định và đóng phương thức truy cập được sử dụng để lây nhiễm hệ thống. Giai đoạn kích hoạt lại máy chủ cho phép thời gian xác minh các ứng dụng đang chạy như mong đợi. Theo dõi cẩn thận các nỗ lực lây nhiễm mới.

Tất cả điều này giả định rằng nhiễm trùng là ở cấp độ gốc. Nhiễm trùng web có thể được thực hiện bằng cách thay đổi mã được chạy bởi máy chủ web. Cho phép máy chủ web ghi quyền truy cập vào mã của nó có thể thực hiện việc này dễ dàng hơn. Bạn vẫn có thể muốn xử lý trường hợp này như thể tài khoản root đã bị xâm phạm.

Nếu root trên một hệ thống đã bị xâm phạm trên một hệ thống, bạn có thể có nhiều hệ thống bị xâm phạm hơn. Xem xét cẩn thận những hệ thống nào có thể được truy cập mà không cần mật khẩu từ hệ thống bị nhiễm.

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.