靶機地址
難度:初級
靶機發布日期:2010年2月17日
靶機描述:Kioptrix VM Image Challenges:
This Kioptrix VM Image are easy challenges. The object of the game is to acquire root access via any means possible (except actually hacking the VM server or player). The purpose of these games are to learn the basic tools and techniques in vulnerability assessment and exploitation. There are more ways then one to successfully complete the challenges.
博客中如有任何問題,懇請批評指正,萬分感謝。個人郵箱:[email protected]
工具、知識點和漏洞
- nmap
- dirsearch
- searchsploit
- metaspaloit
- samba 2.2 緩衝區溢出
- samba 2.2 RCE
- Apache/mod_ssl 緩衝區溢出
0x00、信息收集
友情提示:這個靶機完全開啓可能需要5分鐘……看到kioptrix login:纔可以
靶機IP:192.168.0.108
nmap -sP 192.168.0.0/24
端口和服務
nmap -sS -sV -T5 -A -p- 192.168.0.108
頁面、目錄枚舉
dirb http://192.168.0.108 -X .php,.txt,.zip,.html
python3 dirsearch.py -u http://192.168.0.108 -e .php,.txt,.zip,.html
gobuster dir -u http://192.168.0.108 -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -x .php,.txt,.html,.zip
http://192.168.0.108/test.php
http://192.168.0.108/usage/
http://192.168.0.108/manual/
http://192.168.0.108/manual/mod/mod_ssl/
http://192.168.0.108/mrtg/
運行rpcinfo沒有發現nfs共享
nikto掃描
nikto -host http://192.168.0.108
/wordpresswp-includes/js/tinymce/themes/modern/Meuhy.php?filesrc=/etc/hosts
searchsploit openssl,發現有遠程緩衝區溢出漏洞
0x01、Apache/mod_ssl
桌面新建一個文件夾,將exp拷貝到裏面,gcc編譯,結果提示沒有openssl
解決辦法:sudo apt-get install libssl-dev
使用說明如下:
我們的靶機是RedHat系列,Apache版本1.3.20
前兩次都沒成,第三次成功了
0x02、samba 2.2
1)Remote Code Execution
samba版本檢測
searchsploit samba 2.2
編譯exp
2)call_trans2open(RBO)
Remote Buffer Overflow --> RBO
編譯exp,最開始試了第一個,結果沒編譯成功,查看了一下源代碼發現是針對OpenBSD和FreeBSD的
3)利用MSF
nttrans(Remote Overflow)利用失敗
試了這麼多次遠程緩衝區溢出可能靶機已經被玩壞了……後面一直在不停的嘗試Trying return address……
過了兩三分鐘還在Trying,我放棄了……
5分鐘後……得到了root權限的shell
我這可不是苦等了5分鐘哈,我是給這個利用模塊設置了一個payload
說一下MSF框架中的各個模塊:
- Auxiliaries(輔助模塊):負責執行掃描、嗅探、指紋識別等相關功能。
- Exploit(漏洞利用模塊):漏洞利用是指由滲透測試者利用一個系統、應用或者服務中的安全漏洞進行的攻擊行爲。流行的滲透測試技術包括緩衝區溢出、Web應用程序攻擊,以及利用配置錯誤等,其中包含攻擊者或者測試人員針對系統中的漏洞而設計的各種PoC驗證程序,用於破壞系統安全性的攻擊代碼,每個漏洞都有相應的攻擊代碼。
- Payload(攻擊載荷模塊):攻擊載荷是我們期望目標系統在被滲透攻擊之後完成實際攻擊功能的代碼,成功滲透目標之後,用於在目標系統上運行任意命令或者執行特定代碼,在MSF框架中可以自由地選擇、傳送和植入。攻擊載荷也可能是簡單地在目標操作系統上執行一些命令,如添加用戶賬戶(linux/x86/adduser),反彈shell(linux/x86/shell_reverse_tcp)等
- Post(後期滲透模塊):該模塊主要用於在取得目標系統遠程控制權後,進行一系列的後滲透攻擊動作,如獲取敏感信息、實現跳板攻擊等。
- Encoders(編碼工具模塊):該模塊在滲透測試中負責免殺,以防止被殺毒軟件、防火牆、IDS及類似的安全軟件檢測出來。
可能說了這些還是不太好理解Exploit和Payload有啥區別,結合上面這個例子來說,我在選擇了linux/samba/trans2open這個Exploit之後,在這個模塊下,可供我選擇的Payload有很多,比如獲取shell(linux/x86/shell/reverse_tcp)、添加用戶(linux/x86/adduser)、讀取文件(linux/x86/read_file),查看在某個模塊下有哪些可用的payload可以用show payloads
。放到遊戲裏面來說,就是通過Exploit我們可以給我們的遊戲角色升一級,但是可以通過Payload來指定你想把屬性點加到哪個屬性上,是加到力量,還是加到敏捷,或者是閃避,你可以自己選。
如果你有其他的方法,歡迎留言。要是有寫錯了的地方,請你一定要告訴我。要是你覺得這篇博客寫的還不錯,歡迎分享給身邊的人。更多VulnHub靶機的Walkthrough,請訪問本人博客(https://blog.csdn.net/weixin_44214107)。歡迎掃描下方個人微信二維碼與我交流。我是ins1ght.