Lab1 NT101.

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 11

12.

Sử dụng tập tin /etc/passwd, trích xuất tên user và home directory cho tất cả
user có shell được thiết lập là /usr/sbin/nologin. Lưu ý, chỉ sử dụng 1 dòng lệnh duy
nhất. Kết quả xuất ra màn hình như hình dưới.

- Dùng lệnh cat để xem nội dung tập tin


- Để trích xuất các user có shell được thiết lập là /usr/sbin/nologin t dùng lệnh:
grep
- File /etc/passwd lưu trữ thông tin người dùng theo định dạng như sau:

Name Passowrd UID GID Comment Home dir Shell


1 2 3 4 5 6 7

[1] – [username] username có độ dài từ 1 đến 32 ký tự.


[2] – [password] trường này để chữ “x”, thể hiện password đã được mã hóa và đoạn mã
hóa được lưu trong một file khác: /etc/shadow
[3] – [UID] Mỗi user trên hệ thống sẽ được gán với một mã ID (giống số CMND của
chúng ta). [4] – [GID] Tương tự UID, đây là GroupID, GroupID được định nghĩa trong
file /etc/group
[5] – [Comment] trường này có chức năng mô tả ngắn về user, có thể để trống.
[6] – [Home dir] Đường dẫn khi user vừa login vào sẽ mặc định làm việc tại đây.
[7] – [shell] Hiểu nôm na đây là quyền shell của user, mặc định sẽ là /bin/bash thì user
được quyền ssh vào server.

- Các trường được cách nhau bởi dấu “:” nên ta dùng lệnh awk để cắt các trường
cần thiết là Name ($1) và Home directory ($6)
13. Tải tập tin access_log.txt.gz tại
(https://github.com/blakduk/ahihi/raw/master/access_log.txt.gz), sau đó thực hiện
liệt kê danh sách các địa chỉ IP và số lượng tương ứng, thực hiện sắp xếp giảm dần.

- Để tải tập tin ta dùng lệnh: wget


- Ta dùng lệnh gzip để giải nén tập tin vừa tải về.

- Dùng lệnh cat để xem nội dung tập tin


- Ta thấy các địa chỉ IP đều nằm đầu và sau đó là dấu “-“ nên ta dung lệnh awk để
cắt các địa chỉ IP
- Lệnh uniq giúp chúng ta chỉ in các dòng trùng lặp 1 lần, flag -d: chỉ in ra các dòng
trùng lặp 1 lần, flag -c: in ra số lượng và nội dung các dòng trùng lặp
- Lệnh sort giúp chúng ta sắp xếp, flag -r sắp xếp giảm dần, flag -n sắp xếp theo
chữ số

14. Hãy cho biết đường đẫn thực thi của 2 lệnh wget và curl?

- Để xem đường dẫn thực thi của 2 lệnh ta sử dụng lệnh: which

15.Theo bạn, trong 2 lệnh tải về wget và curl, lệnh nào ưu việt hơn? Giải thích?

wget curl
wget không sử dụng thư viện nào curl được viết dựa trên thư viện libcurl
wget chỉ hỗ trợ HTTP, HTTPS và FTP curl hỗ trợ nhiều protocol khác nhau như
HTTP, HTTPS, SCP, SFTP, LDAP,
LDAPS, FILE, SMTP...
Wget chỉ hỗ trợ chức năng Post dữ liệu curl không chỉ hỗ trợ tải dữ liệu hoặc file từ
dạng văn bản thuần túy qua giao thức server về client mà còn hỗ trợ upload dữ
HTTP. liệu văn bản hoặc file (multipart/form-data)
từ client lên server.
Điểm mạnh lớn nhất so với curl là khả năng curl về cơ bản được thực hiện để thực hiện
tải xuống đệ quy hoặc thậm chí chỉ tải chuyển dữ liệu một lần. Nó chỉ chuyển các
xuống mọi thứ được đề cập từ một tài URL mà người dùng chỉ định và không
nguyên từ xa, có thể là trang HTML hoặc chứa bất kỳ logic tải xuống đệ quy nào
danh sách thư mục FTP. cũng như bất kỳ loại trình phân tích cú
pháp HTML nào.
chỉ hỗ trợ Xác thực cơ bản là loại xác thực Curl hỗ trợ nhiều phương thức xác thực
duy nhất trên proxy HTTP HTTP, đặc biệt là qua các proxy HTTP: Cơ
bản, Tiêu hóa, NTLM và Đàm phán
không hỗ trợ SOCKS curlhỗ trợ một số phiên bản giao thức
SOCKS để truy cập proxy

Dựa vào những đặc điểm trên ta có thể thấy curl có phần ưu việt hơn so với wget. Tuy
nhien lựa chọn vẫn phụ thuộc ở bạn. Nếu bạn muốn tải xuống một cái gì đó nhanh chóng
mà không cần phải bận tâm về các flag, hãy chọn wget. Công cụ này vô cùng đơn giản.
Nếu cần thực hiện một nhiệm vụ phức tạp hơn, curl sẽ là lựa chọn đáng xem xét. cURL
cho phép bạn làm rất nhiều thứ. Bạn có thể coi curl giống như một trình duyệt web dòng
lệnh rút gọn. curl hỗ trợ mọi giao thức bạn biết và có thể truy cập, cũng như tương tác với
gần như tất cả nội dung trực tuyến. Điều khác biệt duy nhất là trình duyệt hiển thị các
phản hồi mà nó nhận được, còn curl thì không.

16.Có thể sử dụng lệnh curl để thay đổi các HTTP header được hay không? Nếu
được, cho ví dụ?

- Để xem header của 1 gói trả về ta dùng lệnh: curl -I

- Ta có thể thay đổi header bằng lệnh curl. Ví dụ như hình sau
17. Máy chủ nào sẽ đóng vai trò là server?

- Máy thực hiện mở port là máy server

18. Máy chủ nào sẽ đóng vai trò là client?

- Máy thực hiện kết nối tới IP và port là máy client

19. Nếu khai báo lệnh “nc -lvnp 4444” thì thật chất, port 4444 được mở ở máy nào?

- Port sẽ được mở ở máy thực thi lệnh

20. Thực hiện chuyển tập tin wget.exe trên máy Kali sang máy Windows 10.

- Trên máy Windows, chúng ta sẽ thiết lập lắng nghe trên port 4444 và chuyển tiếp
kết quả vào tập tin có tên là wget.exe

- Trên máy Kali, chúng ta sẽ gửi tập tin wget.exe lên máy Windows thông qua port
4444

- Trên máy Windows đã nhận được tập tin


21. Thực hiện lại chi tiết kịch bản Reverse Shell và Bind Shell sử dụng netcat.

Bind Shell:

- Trên máy Windows, chúng ta sẽ chạy chương trình cmd.exe trên port 4444

- Trên máy Kali, kết nối tới port 4444 của máy Windows và điều khiển được cmd
Reverse Shell

- Trên máy Kali, thực hiện lắng nghe trên port 4444

- Trên máy Windows, thực hiện kết nối tới máy Kali tại port 4444 và chạy chương
trình command prompt

- Máy Windows đã kết nối và máy Kali có thể điều khiển command prompt
22. So sánh ưu và nhược điểm khi sử dụng Reverse Shell và Bind Shell? Khi nào nên
sử dụng Bind Shell? Khi nào nên sử dụng Reverse Shell?

You might also like