最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

項(xiàng)目八:IMF-1(上)

2023-08-01 16:35 作者:沙漠里的鯨  | 我要投稿

##Nmap信息收集

---存活主機(jī)發(fā)現(xiàn)

---全端口掃描,這里只存在80端口,是Linux系統(tǒng)

##Web漏洞信息收集

---存在3個(gè)主目錄

---點(diǎn)擊三個(gè)主目錄,發(fā)現(xiàn)一個(gè)登陸界面

---這里搜集到三個(gè)用戶名:rmichaels? akeith? estone

---查看前端頁面源代碼獲取信息,在contact.php發(fā)現(xiàn)flag1

---將flag1進(jìn)行base64解碼:allthefiles (可能是:用戶名 / 密碼 / Web的目錄)

---同樣在這里發(fā)現(xiàn)很奇怪的base64命名的js文件

---將這幾個(gè)拼湊起來,看起來是一個(gè)base64的編碼:

---嘗試解碼(這里要解碼2次),獲取flag2的內(nèi)容:imfadministrator

---分別訪問:http://192.168.95.153/allthefiles和http://192.168.95.153/imfadministrator/

---這里發(fā)現(xiàn)一個(gè)管理員登陸的界面,可能存在:弱口令和SQL注入

---查看前端的源代碼發(fā)現(xiàn)提示:

---提示這里硬編碼了密碼,提到了SQL,可能會(huì)存在SQL(需要抓包分析)

---采用dirb爆破,看到vendor(插件目錄可能存在文件目錄泄露),但是訪問時(shí)被拒絕訪問

---在http://192.168.95.153/imfadministrator/ 基礎(chǔ)上采用dirb繼續(xù)爆破

---發(fā)現(xiàn)了/images目錄和/uploads目錄(可能存在文件上傳)

---這里的邏輯因該是:/uploads目錄上傳圖片,訪問/images目錄查看圖片

---訪問時(shí)候發(fā)現(xiàn)沒有權(quán)限(這里猜測(cè)需要管理員登陸才能訪問

##Web漏洞GetShell

#信息收集總結(jié)

---根據(jù)頁面枚舉,發(fā)現(xiàn)用戶名:rmichaels? akeith? estone

---前端源碼發(fā)現(xiàn)flag:allthefiles(沒有利用,提示文件上傳)和imfadministrator(網(wǎng)站目錄)

---在/contact.php頁面,可能存在SQL注入

---在/imfadministrator頁面,可能存在SQL注入,弱口令

---在/imfadministrator/uploads目錄存在文件上傳,但是需要登陸才能查看

---破題:根據(jù)/imfadministrator登陸(爆破/抓包繞過),然后利用文件上傳獲取WebShell

#/imfadministrator/登陸口抓包分析

---發(fā)現(xiàn)是明文傳參

---查看回顯,判斷是否存在注入(這里需要sqlmap去跑)

---這里提示了無效用戶名,可能是我們的用戶名不正確

---將之前搜集的rmichaels、akeith、estone用戶名輸入

---這里:rmichaels提示無效密碼(說明用戶名正確),而akeith、estone提示無效用戶名

#弱口令爆破

---我們知道用戶名:rmichaels,可以使用hydra或者BurpSuite爆破

---cewl通過爬蟲分詞:cewl http://192.168.95.153/ -w huangbo.txt

---使用Hydra爆破rmichaels的密碼

---也可以kail的字典:?/usr/share/wordlists/rockyou.txt

---這里爆破出來16個(gè)有效密碼,不知道怎么回事(試了下不能登陸

---嘗試發(fā)送burpsuite的intruder進(jìn)行爆破,設(shè)置變量

---加載字典:https://github.com/TheKingOfDuck/fuzzDicts

---這里爆破失敗了

---嘗試以下SQLmap的表單注入

---forms使用表單對(duì)頁面的GET/POST測(cè)試, -batch默認(rèn)Y,-o開啟優(yōu)化選項(xiàng)

---但是沒有找到注入點(diǎn)

---對(duì)之前的http://192.168.95.153/contact.php進(jìn)行SQL注入測(cè)試

sqlmap -u "http://192.168.95.153/contact.php" -forms -o --batch

#PHP常見安全函數(shù)繞過

---將pass=的改為字符串[]

---在這里直接登陸成功,flag3的base64解碼:continueTOcms

---這里能夠繞過的原因是:strcmp繞過(這里好像需要PHP版本<5.3)

----我們將字段名稱更新pass為pass[],這意味著PHP將把這個(gè)字段解釋為一個(gè)數(shù)組

---strcmp比較的是字符串類型,如果強(qiáng)行傳入其他類型參數(shù)(數(shù)組)會(huì)出錯(cuò),出錯(cuò)后返回值0

---常見的PHP函數(shù)繞過

#SQLmap測(cè)試

---登陸進(jìn)去之后的的home存在SQL注入

---采用gedit將數(shù)據(jù)包復(fù)制到1.txt(在BurpSuite里面可以copy to file)

---然后使用sqlmap進(jìn)行掃描,-r代表掃描文件

---實(shí)戰(zhàn)中每一個(gè)Web頁面到要使用sqlmap進(jìn)行掃描

---這里發(fā)現(xiàn)了注入漏洞,URL傳參的pagename存在SQL注入

---現(xiàn)實(shí)情況下存在SQL注入漏洞的情況很少了,大部分是靶機(jī)或者弱小的SRC

---這里通過SQLmap查看數(shù)據(jù)庫:sqlmap -r 1.txt --batch -o -dbs

---查看admin數(shù)據(jù)庫的表:sqlmap -r 1.txt --batch -o -D admin -tables

---查看列:sqlmap -r 1.txt --batch -o -D admin -T pages -columns

---查看表:sqlmap -r 1.txt --batch -o -D admin -T pages -dump

---發(fā)現(xiàn)這里沒有用戶名和密碼,沒有什么有用的信息

---查看數(shù)據(jù)庫用戶和密碼

---這里存在密碼

---使用在線解密破解,沒辦法破解

---查看當(dāng)前用戶以及是否具有root權(quán)限

---當(dāng)前用戶不是root

---也不具備root權(quán)限,所有沒有辦法使用-os-shell獲取WebShell

#轉(zhuǎn)換思路,看一看數(shù)據(jù)庫里面的圖片

---這里類似于敏感目錄

---訪問第一張白板,發(fā)現(xiàn)一個(gè)二維碼

---掃描二維碼,獲取flag4:flag4{dXBsb2Fkcjk0Mi5waHA=}

---base64解碼:uploadr942.php (這是一個(gè)文件上傳的文件)

---第二張是就是:redacted(可能是賬號(hào)/密碼),沒有發(fā)現(xiàn)什么信息

---可以使用:binwalk,exiftools,strings進(jìn)行查看圖片信息

---訪問uploadr942.php,發(fā)現(xiàn)文件上傳的點(diǎn)

#文件上傳漏洞分析

---先隨便上傳個(gè)文件抓包分析,上傳成功

---上傳一個(gè)PHP的一句話

---上傳后提示無效文件類型

---當(dāng)然在kail的/usr/share/webshell目錄自帶一句話

---cp到用戶目錄,然后修改反彈shell的IP為Kail的IP

---將名稱改為:1.gif

---上傳發(fā)現(xiàn)存在WAF,會(huì)檢測(cè)相關(guān)的函數(shù)(不知道是黑名單還是白名單,猜測(cè)黑名單)

---猜測(cè)是通過黑名單匹配,檢測(cè)上傳的圖片的二進(jìn)制是否包含信息

---構(gòu)建exp,GIF89a是因?yàn)橐恍z測(cè)文件格式,是通過文件頭進(jìn)行檢測(cè)

---然后,這里使用的反引號(hào),id被當(dāng)成shell命令執(zhí)行

---PHP:單引號(hào),雙引號(hào),反引號(hào)的區(qū)別

---將命令執(zhí)行的PHP寫入2.gif并且上傳

---發(fā)現(xiàn)文件成功上傳

---但是我們不知道文件上傳的目錄在哪里?上傳后的文件是否被重命名(一般是時(shí)間戳

---查看前端源代碼,這里上傳的文件改名了:f887dfa6bac1.gif

---總結(jié):采用GIF8a繞過gif的檢測(cè),利用反引號(hào) ` 繞過WAF對(duì)于關(guān)鍵函數(shù)的檢測(cè)

---PHP的命令執(zhí)行函數(shù):①system() ②exec() ③shell_exec()

---PHP的代碼執(zhí)行函數(shù): eval()? ②assert() preg_replace()

---PHP的命令執(zhí)行和代碼執(zhí)行函數(shù)

---嘗試尋找上傳文件的位置(這里要結(jié)合dirb掃描出來的uploads目錄)

---訪問發(fā)現(xiàn),這里被命令執(zhí)行了

---這里我很疑惑,為什么上傳的gif圖片,在這里被當(dāng)成PHP執(zhí)行了(沒有說明存在解析漏洞,后面查看源碼發(fā)現(xiàn).htaccess被修改,添加了gif文件會(huì)被解析成PHP

---一般操作不是上傳gif/jpg/png圖片,然后抓包修改文件后綴為php才能執(zhí)行

---文件上傳的繞過

#漏洞利用方式1:

---接受URL的傳參,然后命令執(zhí)行傳遞的參數(shù)

---注意:這里WAF對(duì)于eval(),assert()進(jìn)行了過濾

---上傳后,前端源代碼顯示:4716aaa779c6.gif

---采用curl進(jìn)行前端訪問,命令執(zhí)行

---知道JPG/JPEG文件會(huì)是FFD8FFE0為文件頭(十六進(jìn)制)

xxd -r -p: 這部分是將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換回二進(jìn)制數(shù)據(jù)的命令 xxd。具體解釋如下:

  • -r: 表示將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制數(shù)據(jù)(從逆向操作)

  • -p: 表示輸入的是純粹的十六進(jìn)制數(shù)據(jù),沒有其他額外格式

---總結(jié):這里類似于GIF89a,只是寫入的數(shù)據(jù)的二進(jìn)制的數(shù)據(jù)

---直接命令執(zhí)行訪問flag5,解碼為:agent services(提示:機(jī)構(gòu)服務(wù))

---將php-reverse-shell復(fù)制到項(xiàng)目8

---修改反彈shell的IP為Kail的IP

---開啟http.server服務(wù)

---在靶機(jī)進(jìn)行命令執(zhí)行下載(直接上傳是過不了檢測(cè)的)

---Kail監(jiān)聽1234端口,這里沒有發(fā)現(xiàn)python,但是存在python3

---瀏覽器訪問:http://192.168.95.153/imfadministrator/uploads/php-reverse-shell.php

#漏洞利用方式2:weevely

---weevely是一款基于python編寫的webshell管理工具,其優(yōu)點(diǎn)是跨平臺(tái),隱蔽性不錯(cuò),參數(shù)隨機(jī)生成并加密,但缺點(diǎn)是只支持php。
---我們可以在普通一句話木馬上傳無效情況下,使用weevley工具生成的一句話木馬上傳

---實(shí)現(xiàn)有IDS(入侵防御系統(tǒng))檢測(cè)設(shè)備或者網(wǎng)站W(wǎng)AF的企業(yè)網(wǎng)絡(luò)場(chǎng)景下

---進(jìn)行滲透測(cè)試,后門放置,文件管理,資源搜索,命令執(zhí)行,系統(tǒng)信息收集等多種功能

  • 生成shell

  • 鏈接shell

  • 生成混淆Shell

---這里生成一個(gè)dayu.php的木馬,密碼為passdayu

---cat一下查看,這里因該是經(jīng)過混淆的,需要轉(zhuǎn)義的,因該可以繞過關(guān)鍵函數(shù)檢測(cè)的WAF

---其實(shí)這個(gè)檢測(cè)因該很好繞過的,網(wǎng)上有專門混淆一句話的在線網(wǎng)站

---在頭部添加GIF89a,然后修改為gif文件上傳

---然后上傳到靶機(jī),發(fā)現(xiàn)被修改成:fe4fd6e5f425

---然后在kail訪問(這里存在一個(gè)bug,就是我訪問上傳的文件不需要管理員登陸,但是訪問http://192.168.95.153/imfadministrator/uploads/會(huì)被拒絕訪問):

---優(yōu)點(diǎn):這個(gè)shell是非常穩(wěn)定的,缺點(diǎn):只支持PHP的一句話

weevely http://192.168.95.153/imfadministrator/uploads/fe4fd6e5f425.gif passdayu

#WebShell方法3:webacoo

---WeBaCoo的精妙之處在于,Web服務(wù)器和客戶端之間的通信載體是Cookie

---意味著多數(shù)的殺毒軟件、網(wǎng)絡(luò)入侵檢測(cè)/防御系統(tǒng)、網(wǎng)絡(luò)防火墻和防火墻都無法檢測(cè)到后門

----g 生成后門代碼(需要-o);-o OUTPUT 生成的后門輸出文件名

---這里發(fā)現(xiàn)生成的馬子的核心原理就是通過base64編碼

---但是還是存在eval(),會(huì)被WAF檢測(cè)到

和方法2一樣,加入GIF98a然后改名dayu1.gif,查看ID:

----t 建立遠(yuǎn)程“終端”連接(需要-u);-u URL 后門 URL

#WebShell方法4:MSF生成后門

  1. msfvenom: 這是 Metasploit 框架中用于生成惡意代碼的工具

  2. -p php/meterpreter_reverse_tcp: 這部分指定了要生成的惡意代碼有效載荷(payload)。`php/meterpreter php/meterpreter_reverse_tcp 是一個(gè) PHP 版本的 Meterpreter 反向 TCP shell payload

  3. Meterpreter 是 Metasploit 框架中的一種強(qiáng)大后滲透工具,用于遠(yuǎn)程控制目標(biāo)系統(tǒng)

  4. -f raw: 這部分指定了生成的輸出格式raw 表示生成原始的二進(jìn)制數(shù)據(jù),不包含任何文件格式頭信息

---發(fā)現(xiàn)這里還是存在函數(shù),不知道能不能繞過(記得MSF里面存在免殺的功能)

---在首部添加GIF98a,修改為gif文件后上傳,發(fā)現(xiàn)被WAF檢測(cè)

---使用https://www.phpjiami.com/phpjiami.html加密ms.php

---添加GIF98a,以及修改gif格式,發(fā)現(xiàn)還是被檢測(cè)到了

---這里的原因是PHP加密網(wǎng)站的需要會(huì)員才能進(jìn)行函數(shù)名加密和混淆,也可以看出WAF的檢測(cè)機(jī)制就是黑名單檢測(cè)敏感函數(shù)名

---msf的漏洞利用方式

---MSF生成后門腳本的總結(jié)

---為什么允許上傳Gif的文件,/var/www/html/imfadministrator/uploads目錄下存在.htaccess

---AddType application/x-httpd-php .php .gif: 這個(gè)指令將文件后綴為 ?.php 和 ?.gif 的文件的 MIME 類型設(shè)置為 ?application/x-httpd-php

---AddHandler application/x-httpd-php .gif: 這個(gè)指令將 ?.gif 文件的處理程序(handler)設(shè)置為 ?application/x-httpd-php,也就是說 Apache 將把 ?.gif 文件當(dāng)作 PHP 腳本來處理

---可以查看index.php,發(fā)現(xiàn)登陸驗(yàn)證的邏輯是:strcmp($password, $_POST["pass"])

---在Cms.php里面,發(fā)現(xiàn)數(shù)據(jù)庫的用戶名和密碼,以及存在的過濾注入點(diǎn)

---對(duì)文件上傳的代碼進(jìn)行分析,先抓包查看

#$_FILES 是一個(gè)關(guān)聯(lián)數(shù)組,其中的每個(gè)元素對(duì)應(yīng)一個(gè)上傳的文件,每個(gè)元素包含以下信息:

  1. $_FILES['input_name']['name']: 上傳文件的原始名稱,例如 "myfile.jpg"。

  2. $_FILES['input_name']['type']: 上傳文件的 MIME 類型,例如 "image/jpeg"。

  3. $_FILES['input_name']['tmp_name']: 上傳文件被服務(wù)器保存的臨時(shí)文件路徑。

  4. $_FILES['input_name']['error']: 上傳文件時(shí)產(chǎn)生的錯(cuò)誤代碼。如果為 0,則表示沒有錯(cuò)誤。

  5. $_FILES['input_name']['size']: 上傳文件的大小(字節(jié))

---代碼審計(jì)發(fā)現(xiàn)還可以通過:條件競(jìng)用來獲取上傳文件(現(xiàn)實(shí)情況下不知道文件名修改規(guī)律)

---查看當(dāng)前shell,并且切換shell為bash,監(jiān)聽6677端口

---在靶機(jī)反彈Shell

---發(fā)現(xiàn)之前出現(xiàn)問題的stty raw -echo能夠使用了

##提權(quán)

#查看基本信息,發(fā)行是64位操作系統(tǒng)

---思路1:谷歌 /searchsploit / msf的search進(jìn)行搜索關(guān)鍵字進(jìn)行系統(tǒng)漏洞提權(quán)

---思路2:sudo? -l / SUID /etc/passwd? 計(jì)劃任務(wù)? /etc/shadow /etc/sudoers 等配置錯(cuò)誤提權(quán)

---思路3:linpeas.sh分析提權(quán),linux-exploit-suggester.sh提權(quán)

---思路4:緩沖區(qū)提權(quán)

---查看具有SUID權(quán)限的文件

---這下面的都是系統(tǒng)文件,沒有SUID提權(quán)的可能,也不能直接進(jìn)行緩沖區(qū)溢出提權(quán)

---注意:SUID權(quán)限是:當(dāng)普通用戶執(zhí)行該文件時(shí),會(huì)以文件所有者的身份(通常是程序的創(chuàng)建者或管理員)來執(zhí)行,而不是以當(dāng)前用戶的身份執(zhí)行

---根據(jù)flag5提示的agent services進(jìn)行搜索:

---發(fā)行?/usr/local/bin/agent文件和?/etc/xinetd.d/agent

---第一個(gè)是32位的可執(zhí)行elf文件

---并且在access_codes中提示了一個(gè)疑似端口敲擊的順序

---SYN是TCP連接建立過程中用于發(fā)起連接的標(biāo)志位

---tcp的三次握手和四次揮手的流程,SYN就是建立連接的詢問

---第二個(gè)是一個(gè)可讀文件:提示啟用了一個(gè)服務(wù):#默認(rèn)值:啟用
---description:代理服務(wù)器為代理會(huì)話提供服務(wù),用于身份驗(yàn)證的未加密的agentid

---然后服務(wù)執(zhí)行的文件:/usr/local/bin/agent(這里相當(dāng)于計(jì)劃任務(wù),服務(wù)一直是root用戶執(zhí)行的這個(gè)文件)

---netstat -ano查看端口開放情況,ps -aux顯示所有進(jìn)程的詳細(xì)信息(Windows是tasklist)

---開啟了3306(MYSQL本地開放)22(SSH)7788端口(但是nmap沒有掃描到)

---思路: /usr/local/bin/agent我們的WebShell只要讀取和執(zhí)行權(quán)限,不能修改

---但是執(zhí)行權(quán)限,我們可以試一試:緩沖區(qū)溢出提權(quán)

---但是查看進(jìn)程,發(fā)現(xiàn)/usr/local/bin/agent并沒有被執(zhí)行(agent服務(wù)沒有開啟)

---使用端口碰撞嘗試開啟服務(wù)

---注意端口之前的空格

---安全機(jī)制:端口修改

---使用Nmap發(fā)現(xiàn)7788端口開放

---采用nc連接端口,提示輸入Agent ID ,我這里輸入root提示錯(cuò)誤

---但是我使用NC訪問的時(shí)候,發(fā)現(xiàn)agent程序被root用戶執(zhí)行了(存在提權(quán)的可能)



項(xiàng)目八:IMF-1(上)的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
吉木乃县| 浏阳市| 天峻县| 贡山| 历史| 上虞市| 莲花县| 天长市| 崇仁县| 永春县| 响水县| 瓦房店市| 稷山县| 塘沽区| 航空| 江川县| 崇信县| 旬阳县| 湛江市| 缙云县| 锡林郭勒盟| 白水县| 神农架林区| 沿河| 沁阳市| 阿鲁科尔沁旗| 化隆| 兴海县| 称多县| 梧州市| 安仁县| 都江堰市| 乌鲁木齐县| 固安县| 恩施市| 民丰县| 墨脱县| 遂平县| 宁南县| 宜丰县| 双柏县|