+1

RingZer0team SysAdmin Linux Writeup

Mở đầu

Tiếp theo serier các bài writeup ở trang ringzer0team.com lần này mình xin chia sẻ 1 số writeup cho phần Linux system. Cũng như bài trước với phương trâm không có gợi ý, biết thì dễ không biết thì khó. Mình đã mày mò và kiếm được 1 số point xin chia sẻ cùng các bạn. Nếu bạn nào muốn tự tìm flag thì click vào challenge name để tới challenge page.

Let's Go

Lập tài khoản tại đây và chọn mục SysAdmin Linux . Screen Shot 2016-05-29 at 12.02.41.png

List các Challenge sẽ hiển thị ra, chọn và bắt đầu thôi.

Level 1

Screen Shot 2016-05-29 at 12.04.38.png Đề bài cho user name, password và domain để ssh tới.Ta thử ssh tới server.

ssh morpheus@for01.ringzer0team.com -p 13375

enter password. Screen Shot 2016-05-29 at 12.09.40.png Tới đây bạn đã login vào giao diện của challenge, bước này sẽ sử dụng cho tất cả các challenge có sử dụng ssh.Đề bài bắt tìm Trinity password.Password có thể được giấu trong folder hoặc trong file của hệ thống nên ta sẽ sử dụng find hoặc grep.Do Trinity là 1 user(mà ta đang tìm pass cho nó) trong khi ta đang login vào hệ thống với user morpheus nên khu vực tìm kiếm là các thư mục dùng chung cho các user trên linux.

  • /sbin - Chương trình hệ thống
  • /etc - Các file cấu hình.
  • /dev - Các file thiết bị.
  • /opt - Các ứng dụng phụ tùy chọn.
  • /var - File về biến của chương trình.
  • /tmp - Các file tạm.
find 'Trinity' /etc/

nhận lại 1 list các tên file nhưng không khả quan với đề bài.Thử với

grep 'Trinity' -R /etc/

với -R = Recursively để tìm kiếm đệ quy. Nhận được 1 list toàn "Permission denied" không thể access vào các thư file này để search @@.Đọc thêm về Grep và thử với tham số -i.

grep 'Trinity' -R -i /etc/

gg.png

Như vậy trinity đã config vào rc.local để chạy file backup.sh với tham số password -p.

Level 2

Screen Shot 2016-05-29 at 13.55.22.png

Thử với grep như ở level

grep 'architect' -R -i /etc/

Screen Shot 2016-05-29 at 13.57.22.png

sử dụng base64 để decode dòng ở trên nhận được flag -> easy 😃.

Level 3

Screen Shot 2016-05-29 at 13.59.35.png

"Dig for flag" ta nghĩ ngay đến lệnh Dig trong linux. Thử

dig for01.ringzer0team.com

nhận lại

; <<>> DiG 9.8.4-rpz2+rl005.12-P1 <<>> for01.ringzer0team.com
;; global options: +cmd
;; connection timed out; no servers could be reached

Tới đây tạm thời không có ý tưởng gì khả quan @@ => tạm thời bỏ qua 😦.

Level 4

Screen Shot 2016-05-29 at 14.09.41.png Tìm kiếm trên thực mục root nhận lại nhiều dữ liệu, sau khi lọc ta chỉ quan tâm tới những dòng sau.

Binary file /backup/c074fa6ec17bb35e168366c43cf4cd19 matches
/var/lib/dpkg/info/vim-runtime.md5sums:dfeaafcf70b129c0771001d46c58b424  usr/share/vim/vim73/syntax/sqloracle.vim
/var/spool/mail/morpheus:forensics.localdomain : Apr 26 01:09:45 : morpheus : user NOT in sudoers ; TTY=pts/0 ; PWD=/home ; USER=root ; COMMAND=cd oracle/
/etc/passwd:oracle:x:1005:1005::/home/oracle:/bin/bash
/etc/group:oracle:x:1005:
/var/spool/mail/morpheus:forensics.localdomain : Apr 16 16:31:38 : morpheus : user NOT in sudoers ; TTY=pts/4 ; PWD=/home/morpheus ; USER=root ; COMMAND=oracle
/var/spool/mail/morpheus:forensics.localdomain : Apr 26 01:09:45 : morpheus : user NOT in sudoers ; TTY=pts/0 ; PWD=/home ; USER=root ; COMMAND=cd oracle/

có thể thấy vài phiên làm việc của Root với oracle và oracle xuất hiện trong binary file /backup/c074fa6ec17bb35e168366c43cf4cd19. Thử xem file binary này bằng lệnh string.

string /backup/c074fa6ec17bb35e168366c43cf4cd19

có vẻ như oracle đã backup một số thông tin trong file này và trong đó có rsa.

-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAqBIMY0jPs4dvQqsyHreYccCOIMFrBy+el5Td8TNc8pQqINNr
WSefxANe4b0EaAZofvZbBGrHipyB6X+FgugXYqwB0uem06uTGnIdHAZyHV6IE9f/
hLCm+9nWOJfUvPNFbMaIizvzMVhO6GTGyxJ8zh/ASQXYBHSzyOxkmqDLB7zFteyJ
F7hv6s6W20TmpjhMQtOC0mYwn64ZCsVi2d1c7tFiw37cOutT1LfZaaAUBIwdpvL6
BFjqpNkxzwm105eFTDt4WZNKOZ9nOns18MHBHFOXk8WgAxC6gqtE2gr7cTBZsbwv
jXrte8oTtAWCv3YHSECH91NzE3DKVktCwr1bjQIDAQABAoIBAQCdefu9c1WZY4bu
MrYNbf0aaE9Dhbcgzo+Me+HQxE2MxSMMCsyEhsn9wSK/5Hkidw6mF3KEmwBIcgiP
nfqdA5YV0BENahw4LITyvIVl4uw9dHuQDEzQKSzswdkkwa6FNHOSThtWSl+9ln6o
5PQXBkWGZN2oDh+vXSGvWz+QWqSho8vufmTtYntfFPAfVfcyp8BtiUgKQh069uGg
XKnehmkrHoW9gQ2Lo0uaFWcTIGm1vsgBd7L4cfb98jDB63H+Lhf4UPYv4WmH2rrj
bnk5lAU71JK4QsPnnOx1PA685p2e5mEfh0LKRKq9Fx3+umbGPJGvgcjobtXaW9OT
mpaz6ZPBAoGBAM+diN8s/osQdi8odS9+HUWVZBa9Z2Dn0X2IlSxWK9u/UclhjYgP
i2KXEY0wRV+ZiXURmrFNVxgA/EJ9BOgptSZNmi9fEdfnVB4L11T7HFny/J8u3sXt
dn0OqHmf5ZEPtV7m0bK0jtznTgTTuBI9yXvRgHO2HQPCshdP7GIgt++lAoGBAM89
Pd7HyMYnh0ancCTICkVIIWF6Ylf20BKz4Zwy9tYASCxY3iFllBdOXw/UgCnmJseQ
73Dcimi5OEyUckOp7xX4HTwidFVbxfNeC0ZfsPbd22qSDcw5orpQMoDy3iP+bPJh
SgwtusqotGjm0jTpnhqRV5x6rchzkMYwF8/WkvfJAoGBAMeem6yh0XiaclfzWYE5
jCGMezjWEeD949IEkhGYJQFbmeK79l49O/KmeAy9veYmdSDntUoGp9f/kozHMgGb
oH5cnQQxL7HczWc6UWd3LhJabIUNhsreAFBL2Ldgg1UPun6uBjACJV7G06AWhWSc
ne58SDp5frpP5/Y8NXdAKDq1AoGAYCSFQ4lj96n29CxRtn6nZSTld5eTcEOsnECf
dhuesAFJemlwBAZgAb/2Eh3/p3CCpSr0KmPmQldLaxujNwjrRkHpLjC9z6vX1ePX
TzqtmpmqZXKEvC4w9EaoZ3JE5GXwnTHNbID6m3JQ4CnVc36+Po0XHB096jTTAV7m
bSGa5SECgYBE2IuW1pk2pOZ+FDtKltWHk8KK89QmGsFf2YnVZ/FsAkPnayeTkmMz
AWxRP/W/Uj5ypw7KjprQee31hkisBG/ZPBvQdjAvxF7m4usuEN2Nkb0FTIjZHYbD
iPOmPHIUlwwL8UVzDQUzXhegSB4GUeP/06T/eM5PPB8SX0ZaHIw1wQ==
-----END RSA PRIVATE KEY-----

Lưu giá trị này vào 1 file. Sử dụng giá trị rsa này để ssh. Chú ý rằng khi lưu giá trị của rsa phải bao gồm cả

-----BEGIN RSA PRIVATE KEY-----
-----END RSA PRIVATE KEY-----

Sử dụng giá trị rsa để connect tới server.

ssh oracle@for01.ringzer0team.com -p 13375 -i rsa_pass

Nhận lại thông báo. Screen Shot 2016-05-29 at 15.29.02.png

Như vậy cần sửa lại quyền cho file rsa_pass để được chấp nhận.

chmod 400 rsa_pass

Sau khi phân quyền thử connect lần nữa. Screen Shot 2016-05-29 at 15.35.47.png Xem có gì nào.

ls -la

Sau đó mở file flag.txt thấy 1 đoạn loằng ngoằng có dấu = ở dưới đoán ngay là base 64 encode sau khi decode ta nhận được flag.

Level 5

Screen Shot 2016-05-29 at 15.46.37.png

Ở challenge 4 thấy ngay file encflag.txt.enc mở ra xem thử.

vi encflag.txt.enc

Nhận chuỗi.

U2FsdGVkX1+dCl4WEHNJKBqA8a4fQeheOgA7oiNmjwlJQvGaQAgqcIsGRIcbdHKF
heSs51JRSEmOLqVyGvoxDA==

Chắc Flag đây rồi vấn đề là giải mã kiểu gì thôi 😃).

Kết luận

Còn khá nhiều challenge cho phần Unix System này tuy nhiên xem hơi khó nhằn với mình.Hy vọng ace có thể tìm hiểu và share thêm. Tham khảo : http://man7.org/linux/man-pages/man1/find.1.html http://quantrimang.com/cau-truc-cay-thu-muc-trong-linux-84056 http://www.tecmint.com/ssh-passwordless-login-using-ssh-keygen-in-5-easy-steps/


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí