安基網 首頁 資訊 安全報 查看內容

雪缘园完场比分:我是如何在7分鐘內黑掉40家網站的?

英超雪缘园 www.trual.com.cn 2019-12-29 12:16| 投稿: xiaotiger |來自: 互聯網


免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

摘要: 我的一個朋友告訴我,他的網站上發現了一個 XSS 漏洞,他想讓我深入看看。XSS,又稱跨站腳本攻擊 Cross-site scripting,它是一種安全漏洞。XSS 攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡 ...

我的一個朋友告訴我,他的網站上發現了一個 XSS 漏洞,他想讓我深入看看。

XSS,又稱跨站腳本攻擊 Cross-site scripting,它是一種安全漏洞。XSS 攻擊通常指的是通過利用網頁開發時留下的漏洞,通過巧妙的方法注入惡意指令代碼到網頁,使用戶加載并執行攻擊者惡意制造的網頁程序。

我向他申請了正式的許可,這樣我能在這個網站和服務器上做完整的滲透測試。

注:這一步非常重要,注意法律風險

為了?;ひ?,我用這個地址來代替我朋友的網站

1、端口掃描

第一步就是盡可能多地了解你的“敵人”,并且盡量不要驚動它們。

這時候,我開始啟動計時器計時。

這次掃描花了大概兩分鐘。

掃描發現了很多開放的端口!通過 FTP(port 21) 和 SMB(ports 139/445),我們可以猜出這個服務器是用于保存文件和共享文件的。

與此同時,它還是一個 Web 服務器 (port 80/443 和相應的代理 8080/8081) 。

如果上面的信息不夠,我可能還會做一個 UDP 端口的掃描。現在唯一允許我們與之交互的端口 (不需要登錄服務器) 是 80/443。

沒有浪費一點兒時間,我啟動了 gobuster 來探索這個 Web 服務器上讓我“感興趣”的文件。與此同時,我也通過手工的方式開始挖掘。

復制代碼
$gobuster -u http://example.com -w /usr/share/wordlists/dirbuster/directory-list-2.3-medium.txt -t 100 /admin /login

我發現/admin這個路徑對應這“管理工具”,通過認證的用戶可以修改這個 web 服務器上的東西,由于我沒有用戶名和密碼,在這里走不下去了。(劇透:gobuster 也沒有發現什么有價值的東西)

已經過去三分鐘了,還沒有發現有用的東西。

2、獲取 Webshell

瀏覽這個網站的時候,它需要我登錄,沒問題,用一個假的 e-mail 創建一個賬戶,點擊確認郵件,幾秒鐘后就登錄了。

這個網站對我的登錄表示歡迎,提示我到個人主頁去修改頭像,很貼心嘛!

網站看起來像是自己開發的,要不要“試試不受限的文件上傳”漏洞?

我迅速在本機生成了一個文件:

然后試著把它當作圖像文件上傳, 成功了!

為了避免這個漏洞,上傳者一定要對上傳的文件做處理,檢查文件擴展名,把它替換成.jpeg、.jpg,這樣可以避免遠程代碼執行。

當然,我上傳的文件沒有縮略圖:

通過“復制圖片地址”的功能,我得到了這個 URL ,在瀏覽器中運行一下:

哈哈,看起來我們已經有一個可以工作的 webshell 了。

這個 web 服務器居然運行著 Perl 腳本,我從我最喜歡的備忘錄中找了一個 reverse shell 腳本,設置好了 IP 和端口,這樣我就獲得了一個低權限的 shell ——抱歉,沒有屏幕截圖。

大約 5 分鐘以后,我獲得了一個低權限的 shell。

3、拿下數據庫

讓我十分驚奇的是,這個服務器不僅 host 一個 web 站點,而是 40 個!

$ ls /var/www access.log site1/ site2/ site3/ {… 更多的 sites}

你也許猜到了,我具備這些 web 站點目錄讀的權限,可以讀任意的后端代碼。

我把注意力集中到example.com的代碼中,很明顯,在cgi-admin/pages目錄中,所有的 perl 腳本都是用 root 來連接 MySQL 數據庫的,密碼也是明文存放的, 我們假設它們是 root:pwned42

執行這條命令:

復制代碼
`mysql -u root -p -h localhost victimdbname
Password: pwned42

我就以 root 權限登錄了數據庫。

僅僅 7 分鐘, 我具備了對 35 個數據庫完全的讀寫權限!

在這里,我有道德義務停下來,潛在的損害非常巨大。一個攻擊者可以做這些事情:

  • dump 這些數據庫,這將導致 35 家公司的數據泄露。
  • 刪除所有數據庫。
  • 使用 cronjob 在 apache 里留個后門

該休息一下了,停止計時器。

4、還會有什么問題呢?

我告訴朋友這些發現,獲得進一步挖掘的許可。

在將權限升級到威力巨大的 root 之前,我先看看我這個有限權力的用戶能訪問哪些有趣的文件。

此時我想起來那個開放的 SMB 端口,這意味著系統中應該有個文件夾在用戶之間共享,經過一番探索,我找到了這個目錄/home/samba/secured,里邊的內容如下(請原諒為了隱私,我隱去了大量信息)

在這些目錄中發現了大量的屬于公司用戶的敏感數據,包括:

  • .psd/.ai files (設計師應該知道這些文件多重要,這是它們的工作成果)
  • Cookie sqlite files
  • 發票
  • 盜版的電子書 (我看到這些的時候不由得笑了,誰說老外不看盜版?)
  • Wifi 密碼

攻擊者就可以做這些事情:

  • 到這些公司辦公室的外邊“露營”, 登錄公司的內網,然后做各種各樣有趣的、能在內網實施的攻擊。
  • 把這些敏感數據泄露出去。

這些目錄花費了我不少時間,這個漏洞后果非常嚴重。

最后一擊

用 apache 這個賬戶在四周看了很久以后,我決定是時候去釣個大魚了:獲取 root 權限。

通常,操作系統是打過補丁的,只有那些配置錯誤的服務才有可能給你想要的 root 權限, 但是在現實的世界中,人們很少給操作系統打補??!

這個服務器運行的是什么操作系統呢?

內核是什么版本?

看起來這是一個老版本!這個版本有個漏洞,叫 Dirty Cow,可以提升用戶的訪問權限。

網上有篇博客講述了如何測試內核是否有這個漏洞,并且提供了一個腳本。

執行這個腳本,root 最終到手!

游戲結束了

我立刻給朋友寫了一封郵件,全面地告訴他這些滲透測試的細節和每一步的可能影響,然后結束了當晚的活動。

一個攻擊者可以做的事情:

  • 讀 / 寫服務器上所有的文件
  • 植入一個持久的后門
  • 安裝惡意軟件,并且傳播到內網
  • 安裝勒索軟件(劫持 35 家公司的數據庫和相關數據可不是一件小事)
  • 把這個服務器當作礦機
  • 把服務器當作僵尸網絡的一部分
  • 把服務器當作 C2C 服務器
  • … (發揮你的想象力)

第二天,朋友聯系了我,說他聯系了負責那個服務器的公司,那個文件上傳的漏洞已經 fix 了。

總結

  • 有文件上傳漏洞的 Web 應用可能導致黑客獲得一個低權限的 shell

    要仔細設計文件上傳組件

  • 明文的密碼,讓我們可以讀寫 35 個 Mysql 數據庫

    所有的數據庫都用同一種密碼可不是什么好事情

  • 有很多的敏感數據可以閱讀

    要小心地給用戶分配文件訪問權限,遵循最小權限原則

  • 內核的漏洞讓我們獲得了 root 權限,

    記住給操作系統打補丁

本文轉自碼農翻身,英文原文:

How I Hacked 40 Websites in 7 minutes



小編推薦:欲學習電腦技術、系統維護、網絡管理、編程開發和安全攻防等高端IT技術,請 點擊這里 注冊賬號,公開課頻道價值萬元IT培訓教程免費學,讓您少走彎路、事半功倍,好工作升職加薪!

本文出自:https://www.infoq.cn/article/ikWq017ioX08C8NjGlj3?utm_source=tt

免責聲明:本站系公益性非盈利IT技術普及網,本文由投稿者轉載自互聯網的公開文章,文末均已注明出處,其內容和圖片版權歸原網站或作者所有,文中所述不代表本站觀點,若有無意侵權或轉載不當之處請從網站右下角聯系我們處理,謝謝合作!

相關閱讀

最新評論

 最新
返回頂部
{ganrao}