<menu id="guoca"></menu>
<nav id="guoca"></nav><xmp id="guoca">
  • <xmp id="guoca">
  • <nav id="guoca"><code id="guoca"></code></nav>
  • <nav id="guoca"><code id="guoca"></code></nav>

    CTF—流量分析題型整理總結

    VSole2021-10-13 06:38:17

    我見過的流量分析類型的題目總結:

    一,ping 報文信息 (icmp協議)

    二,上傳/下載文件(藍牙obex,http,難:文件的分段上傳/下載)

    三,sql注入攻擊

    四,訪問特定的加密解密網站(md5,base64)

    五,后臺掃描+弱密碼爆破+菜刀

    六,usb流量分析

    七,WiFi無線密碼破解

    八,根據一組流量包了解黑客的具體行為

    例題:

    一,ping 報文信息 (icmp協議)

    例1.1

    打開流量包,發現有一大段的icmp協議的包,發現在icmp報文中夾雜著flag

    這里可以依次查看每一個icmp報文數據,然后得到flag.也可以用腳本處理:(不推薦)

    先過濾出 icmp協議的包》導出特定分組 》保存為flag.pcapng》然后用腳本處理:

    (這個腳本只能處理data只有一個字節的包,局限性較大,還不如直接一個包一個包查看,反正flag也不會太長)

    import  pysharkcap = pyshark.FileCapture('flag.pcapng')for packet in cap:    data = ''+packet[packet.highest_layer].data    print(chr(int(data,16)),end='')cap.close()
    

    二,上傳/下載文件(藍牙obex,http,難:文件的分段上傳/下載)

    這類夾雜著文件的流量包最好處理,

    方法一,直接用foremost直接分離提取一下就能提取出其中隱藏的文件,一般會直接分離出來一個 壓縮包,一張圖片,或者flag.txt都是有可能的

    方法二,自動提取通過http傳輸的文件內容:文件->導出對象->HTTP

    在打開的對象列表中找到有價值的文件,如壓縮文件、文本文件、音頻文件、圖片等,點擊Save進行保存,或者Save All保存所有對象再進入文件夾進行分析。

    手動提取通過http傳輸的文件內容

    選中http文件傳輸流量包,在分組詳情中找到data,Line-based text, JPEG File Interchange Format, data:text/html層,鼠標右鍵點擊 – 選中 導出分組字節流。

    如果是菜刀下載文件的流量,需要刪除分組字節流前開頭和結尾的X@Y字符,否則下載的文件會出錯。鼠標右鍵點擊 – 選中 顯示分組字節

    在彈出的窗口中設置開始和結束的字節(原字節數開頭加3,結尾減3)

    最后點擊Save as按鈕導出。

    例2.1手機熱點(藍牙傳輸協議obex,數據提取)

    題目來源:第七季極客大挑戰

    考點:藍牙傳輸協議obex,數據提取

    題目信息:(Blatand_1.pcapng)

    題中說用 沒流浪 向電腦傳了文件 那肯定是 用的藍牙 藍牙協議 為  obex協議

    篩出 obex 協議包 :發現 有一個包 里有一個 rar壓縮包:

    要分離出 這個 rar 包:

    方法一:直接復制 數據塊 然后復制到winhex中 轉存為 rar

    復制數據塊 as Hex stream  >  在winhex中粘貼 為 ASCII HEX >  刪除前面的 多余信息  > 保存為 rar

    方法二 :用formost 分離:分離出來好多東西,不過我們目標是rar包

    得到一張flag.git:

    例2.2 抓到一只蒼蠅

        這題屬于比較難的類型,是文件的分段傳輸,我們需要將幾段數據拼接起來

    首先在 分組字節流中 搜索一下 字符串 flag 找到第一個 包,追蹤一下數據流 ,

    然后就看到了上述信息,知道了應該是在用 qq郵箱傳輸文件,文件的信息:fly.rar 文件的大小為 525701

    {"path":"fly.rar","appid":"","size":525701,"md5":"e023afa4f6579db5becda8fe7861c2d3","sha":"ecccba7aea1d482684374b22e2e7abad2ba86749","sha3":""}

    既然知道了在上傳文件,肯定要用到 http的request的 POST方法

    在過濾器中 輸入


    http && http.request.method==POST
    

    然后找到這5個包,第一個包是 文件的信息,后面5個包為數據

    分別查看其中 date 的長度:

    前四個 為 131436 最后一個為 17777,所以 131436*4 +17777=527571 與第一個包給出的 fly.rar的長度 525701 差 1820

    因為每個包都包含頭信息,1820/5 = 364,所以每個包的頭信息為 364

    接下來導出數據包:wireshark->文件->導出對象->http->選擇save對象

    將對應的包 分別save 為 1 2 3 4 5

    將這五個包拖進 kali中 

    執行:

    dd if=1 bs=1 skip=364 of=11
    dd if=2 bs=1 skip=364 of=22
    dd if=3 bs=1 skip=364 of=33
    dd if=4 bs=1 skip=364 of=44
    dd if=5 bs=1 skip=364 of=55
    

    將數據包的頭部的 364個字節去除 得到 11 22 33 44 55

    將這五個包合并

    cat 11 22 33  44 55 > fly.rar
    

    查看一下 flag.rar的md5值是否正確

    md5sum fly.rar
    

    正確

    解壓,跳出提示文件頭損壞,并且要求輸入密碼

    知道是偽密碼,用winhex打開,修改文件頭,將 84 改為 80,保存

    解壓得到,flag.txt 打開一堆亂碼,直接用 foremost分離一下,得到很多的圖片

    發現一張二維碼,掃描后得到flag

    flag{m1Sc_oxO2_Fly}

    其實我剛開始不是這么做的,我是直接用foremost分離 流量包 ,然后分離出來幾張圖片 和一個壓縮包,嘗試解壓

    爆出一堆錯誤,并提示輸入密碼,將 文件頭的 84 修改為 80 后依然打不開 ,,可能是 這個文件中還包含了其他錯誤信息,然后就換用上面的方法了

    三,sql注入攻擊

        例3.1信息提取(超詳細)

    曾經在比賽中也遇過幾乎一樣的題,一直沒有好好的寫過一篇詳細的博客,今天決定借助這個題好好記錄理解一下這種類型的題   

    提示 :sqlmap

    打開流量包,也觀察到了 是 用sqlmap進行的 sql盲注的過程,用的是二分法

    為了更好的理解 注入的過程 我們首先把 注入語句提取出來,這樣方便觀察   

     過濾http流量 ,然后  文件 》導出分組解析結果 》為CSV   保存為 123.txt

    用notepad++ 打開 123.txt,可以看到語句語句中還是夾雜著很多的urlcode  

    全選 , 然后  插件 》MIME Tools 》 url decode ,這樣就把URLcode轉為更直觀的 ascii了

    然后再 來理解用 二分法 進行sql盲注的過程

    以flag 的第一個字符為 例 :

    綠色框中的數字 代表是測試第幾個 字符

    紅色框中的數字 代表 與當前測試的字符的ascii值 相比較的 值

    粉色框中數字 代表返回的數據的長度(一會我們要依據這個來判斷上面的語句是否正確)  

    ascii有 128個所以從 64 開始判斷,然后是96(64和128的中間值),說明>64是正確的 ,才會取96,然后是 80,80小于96,說明>96是錯誤的,所以才會取 64和96 的中間值 80,然后是 72 ,說明>80是錯誤的,取80和64之間的中間值72,然后是76,說明>72是正確的,才會取 72 和80之間的中間值76,然后是 74,說明>76是錯誤的,才會取 72 和76的中間值 74,然后是73,說明>74是錯誤的,才會取 72 和 74的中間值 73  

    至于 > 73 語句是否正確,關系到我們最后的取值,

    我們已經知道了 第一個字符 的ascii值 的范圍 為 72< x <= 74, 至于是 73 還是 74 ,需另做判斷:

    若 > 73 正確, 則 x = 74 第一個字符 的ascii值為 74 就是 J

    若 >73 錯誤,則 x = 73 就是 I

    由于我們上面已經知道了 >64 是正確的  返回包的數據長度是 467

                         >96 是錯誤的  返回包的數據長度是 430

                         >80 是錯誤的  返回包的數據長度是 430

                         >72 是正確的  返回包的數據長度是 467

                         >76 是錯誤的  返回包的數據長度是 430

                         >74 是錯誤的  返回包的數據長度是 430

    可以看到 當判斷語句正確時 ,返包的數據長度 是 大于 430的 ,錯誤時 是小于等于 430    

    然后看到 最后一條語句 >73 的返回值 為 430,說明與錯誤, 第一個字符的ascii 為 73  

    理解了過程就好做多了

    我們只需要 找到 當前測試字符的 最后一條的測試語句的 ascii值 和 返回值

    如果返回值大于 430 則  當前測試字符的ascii 值 為  最后一條測試語句的ascii值

    如果返回值 小于等于 430 則 當前測試字符的ascii值 為 最后一條測試語句的ascii  +  1

    方法一:(當flag 較短的時候)

    當flag較短的時候,我們肯定是用手工 一個一個記下 每個字符的ascii值 比較快

    方法二:(當flag 較長時)

    當flag 為 25個字符以上的時候,手工就顯得太費勁,不如寫個腳本來的快,就想本題一樣,flag的長度為 33

    上腳本:

    import reimport urllib.parse
    # 更改為自己從wireshark提取出的csv文件地址f = open(r"123.txt")lines = f.readlines()datas = []# 轉碼, 保存進datasfor line in lines:    datas.append(urllib.parse.unquote(line))lines = []  # 懶得改, 就復用一下, 這個lines保存注入flag的urlfor i in range(len(datas)):  # 提取出注入flag的url    if datas[i].find("isg.flags ORDER BY `value` LIMIT 0,1),1,1))>64") > 0:        lines = datas[i:]        breakflag = {}# 用正則匹配macth1 = re.compile(r"LIMIT 0,1\),(\d*?),1\)\)>(\d*?) HTTP/1.1")macth2 = re.compile(r'"HTTP","(\d*?)","HTTP/1.1 200 OK')for i in range(0, len(lines), 2):  # 因為有返回響應, 所以步長為2    get1 = macth1.search(lines[i])    if get1:        key = int(get1.group(1))  # key保存字符的位置        value = int(get1.group(2))  # value保存字符的ascii編碼        get2 = macth2.search(lines[i + 1])        if get2:            if int(get2.group(1)) > 450:                value += 1        flag[key] = value  # 用字典保存flagf.close()result = ''for value in flag.values():    result += chr(value)print(result)
    

    為什么腳本中 判斷的返回值取 450 呢?因為 取430時,得出來的flag不對,仔細查看123.txt后,發現 其中還有一些錯誤的語句的返回 包 為 431 或者 432,所以就干純粹取個 450 (433~460都可以)

    (這再看不懂就考慮換專業吧)

    得到flag:

    ISG{BLind_SQl_InJEcTi0N_DeTEcTEd}

    例3.2日志審計

    用 notepad++ 打開 日志文件,先用 插件中的 MIME Tool 中的 URL decode 解一下碼

    然后就能清楚的看出來 是在進行 sql 盲注操作,

    進一步審查,還可以看到每一條語句 返回的狀態碼 ,并且知道 他是用的 二分法在進行 sql盲注

    我需要做的就是找到 每一個 測試的字符的 最后一條狀態碼為 200 的 語句中的 ascii 值并記錄下來

    例如:

    由于使用的是二分法,所以我們這里可以知道 flag的第 18 個字符的ascii 為 117+1 ,118  

    當然你你也可以用手工的方法,一個一個的記下 flag 每一個 字符的 ascii 值 (flag也就 25個字符,如果寫不出代碼的話)

    當然最好是用腳本跑出來

    我找了個腳本:

    # coding:utf-8import reimport urllib
    f = open('access.log', 'r')lines = f.readlines()datas = []for line in lines:    t = urllib.unquote(line) # 過濾出與flag相關,正確的猜解,這里只收集正確的猜解,而測試字符的ascii = 最后一個正確的猜解的ascii +1(這是二分法的一個隱藏規律)    if '200 1765' in t and 'flag' in t:         datas.append(t)
    flag_ascii = {}for data in datas:    matchObj = re.search(r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data)    if matchObj:        key = int(matchObj.group(1))        value = int(matchObj.group(2)) + 1        flag_ascii[key] = value  # 使用字典,保存最后一次猜解正確的ascii碼
    flag = ''for value in flag_ascii.values():    flag += chr(value)
    print flag
    

        解釋一下:

        t = urllib.unquote(line)      就是將 文本進行 urldecode 解碼

        if '200 1765' in t and 'flag' in t:  如果語句中有這兩個字符串就直接將這個語句 存入 數組datas中

        datas.append(t)

        matchObj = re.search(r'LIMIT 0,1\),(.*?),1\)\)>(.*?) AND', data)  在date 中搜索符合 正則表達的 字符串并 將匹配的字符串存入變量 matchObj 中

         key = int(matchObj.group(1))   取 變量matchObj 中 的第一個括號里的內容 (也就是上條語句中的 (.*?)中的內容)并轉為10進制        

        value = int(matchObj.group(2)) + 1   取 變量matchObj 中 的第二個括號里的內容,并轉為 10 進制

    得到 flag:flag{sqlm4p_15_p0werful}

    四,訪問特定的加密解密網站(md5,base64)

    例4.1:你能找到我嗎?

    打開流量包,在分組字節流中搜索 字符串 flag,找到了幾個包,但都沒有什么可利用的信息

    然后嘗試著過濾出http包,(別問我為什么要過濾出http包,經驗告訴我http有問題的可能性最大)

    然后就剩6個包了:

    點擊第一個包,右鍵 追蹤流 》http 

    然后仔細審查這個包,發現了base64 ,訪問域名:   

    http://tool.chinaz.com/Tools/Base64.aspx

    發現是個base64加密解密的網站:

        然后把 result后面的密文復制下來,解密兩次 拿到了flag:    sdut2019{Traffic_analysis_seclab507}

    五,后臺掃描+弱密碼爆破+菜刀

    例5.1,中國菜刀

    在 分組字節流中搜索 flag 字符串,找到第8 個包,追蹤tcp數據流

    看到了 flag.tar.gz,猜測流量包中隱藏了一個壓縮包,

    用binwalk 審查一下:發現了一個壓縮包,分離

    key{8769fe393f2b998fa6a11afe2bfcd65e}

    例5.2 密碼爆破

    flag為flag{管理員入口 地址 + 管理員密碼 }

    找不到源文件了,大致的過程就是 黑客先利用后臺掃描工具,掃描出來了網站的后臺管理員入口

    然后用 用戶名 admin 進行密碼的暴力破解,破解成功,然后干了些猥瑣的事情的過程

    我們需要找到黑客掃描到的 管理員入口的地址 并找到他破解出admin 的密碼

    六,usb流量分析

    usb流量分析,包括usb鍵盤流量,usb鼠標流量

    鍵盤流量數據為 8個字節

    鼠標流量數據為 4個字節 (具體每個字節代表些啥,自行百度)

    例6.1:usb流量分析

    打開流量包:看到的確是usb流量,并且沒有雜包(如果有不是usb的包需提前濾除掉)

    把這個包放進linux中提取數據:

    tshark -r example.pcap -T fields -e usb.capdata > usbdata.txt
    

    然后就得到了 usbdata.txt文件:

    看到每行為8個字節,確定是 鍵盤流量數據,

    然后用腳本進行處理得到flag:

    normalKeys = {"04": "a", "05": "b", "06": "c", "07": "d", "08": "e", "09": "f", "0a": "g", "0b": "h", "0c": "i",              "0d": "j", "0e": "k", "0f": "l", "10": "m", "11": "n", "12": "o", "13": "p", "14": "q", "15": "r",              "16": "s", "17": "t", "18": "u", "19": "v", "1a": "w", "1b": "x", "1c": "y", "1d": "z", "1e": "1",              "1f": "2", "20": "3", "21": "4", "22": "5", "23": "6", "24": "7", "25": "8", "26": "9", "27": "0",              "28": "<RET>", "29": "<ESC>", "2a": "<DEL>", "2b": "\t", "2c": "<SPACE>", "2d": "-", "2e": "=", "2f": "[",              "30": "]", "31": "\\", "32": "<NON>", "33": ";", "34": "'", "35": "<GA>", "36": ",", "37": ".", "38": "/",              "39": "<CAP>", "3a": "<F1>", "3b": "<F2>", "3c": "<F3>", "3d": "<F4>", "3e": "<F5>", "3f": "<F6>",              "40": "<F7>", "41": "<F8>", "42": "<F9>", "43": "<F10>", "44": "<F11>", "45": "<F12>"}
    shiftKeys = {"04": "A", "05": "B", "06": "C", "07": "D", "08": "E", "09": "F", "0a": "G", "0b": "H", "0c": "I",             "0d": "J", "0e": "K", "0f": "L", "10": "M", "11": "N", "12": "O", "13": "P", "14": "Q", "15": "R",             "16": "S", "17": "T", "18": "U", "19": "V", "1a": "W", "1b": "X", "1c": "Y", "1d": "Z", "1e": "!",             "1f": "@", "20": "#", "21": "$", "22": "%", "23": "^", "24": "&", "25": "*", "26": "(", "27": ")",             "28": "<RET>", "29": "<ESC>", "2a": "<DEL>", "2b": "\t", "2c": "<SPACE>", "2d": "_", "2e": "+", "2f": "{",             "30": "}", "31": "|", "32": "<NON>", "33": "\"", "34": ":", "35": "<GA>", "36": "<", "37": ">", "38": "?",             "39": "<CAP>", "3a": "<F1>", "3b": "<F2>", "3c": "<F3>", "3d": "<F4>", "3e": "<F5>", "3f": "<F6>",             "40": "<F7>", "41": "<F8>", "42": "<F9>", "43": "<F10>", "44": "<F11>", "45": "<F12>"}output = []keys = open('usbdata.txt')for line in keys:    try:        if line[0]!='0' or (line[1]!='0' and line[1]!='2') or line[3]!='0' or line[4]!='0' or line[9]!='0' or line[10]!='0' or line[12]!='0' or line[13]!='0' or line[15]!='0' or line[16]!='0' or line[18]!='0' or line[19]!='0' or line[21]!='0' or line[22]!='0' or line[6:8]=="00":             continue        if line[6:8] in normalKeys.keys():            output += [[normalKeys[line[6:8]]],[shiftKeys[line[6:8]]]][line[1]=='2']        else:            output += ['[unknown]']    except:        passkeys.close()
    flag=0print("".join(output))for i in range(len(output)):    try:        a=output.index('<DEL>')        del output[a]        del output[a-1]    except:        passfor i in range(len(output)):    try:        if output[i]=="<CAP>":            flag+=1            output.pop(i)            if flag==2:                flag=0        if flag!=0:            output[i]=output[i].upper()    except:        passprint ('output :' + "".join(output))
    

    例6.2 usb流量

    打開發現有大量的usb協議的流量包,不過其中有很多的雜包,

    發現其中有一大段是 4個字節的 usb數據(鼠標數據)

    先將這些鼠標流量的包過濾出來,

    usb.src == "2.3.1"  過濾后,文件 》導出特殊分組 》保存為 jjj.pcap

    把jjj.pcap放進linux中:

    tshark -r  jjj.pcap -T fields -e usb.capdata > usbdata.txt
    

    生成usbdata.txt文件,然后將usbdata.txt中的鼠標流量數據轉換為坐標

    nums = []keys = open('usbdata.txt','r')file = open('xy.txt','w')posx = 0posy = 0for line in keys:    if len(line) != 12 :         continue    x = int(line[3:5],16)    y = int(line[6:8],16)    if x > 127 :        x -= 256    if y > 127 :        y -= 256    posx += x    posy += y    btn_flag = int(line[0:2],16)  # 1 for left , 2 for right , 0 for nothing    if btn_flag == 1 :        string = str(posx) + ' '+str(posy) +'\n'        file.write(string)keys.close()file.close()
    

    生成了xy.txt文件:

    然后在linux中 執行

    gnuplot
    >plot "xy.txt"
    

    就得到了用鼠標畫的圖了:

    七,WiFi無線密碼破解

    例7.1題目:想蹭網先解開密碼(無線密碼破解)

    題目來源:bugku

    考點:無線密碼破解

    題目信息:(wifi.cap)

    wifi 連接認證 的重點在于 WAP的 四次握手過程 ,就是 EAPOL 協議的包,

    存在 握手過程:直接進行爆破:

    先用 linux中的 crunch 生成一個字典:

    然后 用 aircrack-ng 進行爆破

    得到 WiFi密碼:1391040768 6

    八,根據一組流量包了解黑客的具體行為

    參考:https://jwt1399.top/2019/07/29/ctf-liu-liang-fen-xi-zong-jie/(想要下面例子源文件的去看看)

    例8.1 (1.pcap)

    2018信息安全鐵人三項數據賽

    打開流量包,流量包有點大,打開比較慢,這里我們先過濾為HTTP協議可以看到202.1.1.2對192.168.1.8進行了瘋狂的爆破

    不難看出,黑客利用的SqlMap在對目標站點進行不斷的SQL試探注入

    因此受害主機的網卡IP地址為192.168.1.8

    而注入的參數也可以清晰的看見,為list[select]

    追蹤http流,根據回顯內容,目標站點數據庫拋出的錯誤,可以清晰的看見

    不難確定,目標站點的數據庫表名前綴為ajtuc_

    接著為了確定受害主機網站數據庫的名字,再進行了一次過濾

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http
    

    此時挑選最后一次注入的payload進行url解碼

    可以清楚的看到

    FROM joomla.ajtuc_users
    

    因此數據庫名為joomla

    所以答案:

    1.黑客攻擊的第一個受害主機的網卡IP地址 192.168.1.82.黑客對URL的哪一個參數實施了SQL注入list[select]3.第一個受害主機網站數據庫的表前綴(加上下劃線例如abc_)ajtuc_4.第一個受害主機網站數據庫的名字joomla
    

    例8.2(2.pcap)

    題目來源:2018信息安全鐵人三項數據賽

    根據題目一已確定目標ip,所以依舊使用以下過濾簡化操作

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http
    

    可以看到一個奇怪文件kkkaaa.php,跟進POST數據查看

    不難發現,是中國菜刀的流量,木馬密碼為zzz,接著確定黑客第二次上傳php木馬的時間,我進行了過濾,猜想黑客應該是根據第一個木馬來上傳的第二個木馬

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==POST
    

    此時一條數據格外引人注目

    我們對其16進制進行分析

    將保存的值放入winhex中得到源碼

    將文件保存為php,但是代碼經過混淆過的,在代碼末尾加上下面兩句代碼

    var_dump($j);var_dump($x);
    

    運行php進行解混淆,發現這就是木馬

    由此可確定這個引人注目的包上傳了第二個木馬,因此上傳時間為:17:20:44.248365

    還是使用過濾

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http
    

    然后可以看到許多請求footer.php的頁面,點開一個查看詳情

    容易發現referer數據十分可疑,而ACCEPT_LANGUAGE較為正常,所以可以基本確定,木馬通過HTTP協議中的Referer頭傳遞數據

    答案

    1.黑客第一次獲得的php木馬的密碼是什么zzz2.黑客第二次上傳php木馬是什么時間17:20:44.2483653.第二次上傳的木馬通過HTTP協議中的哪個頭傳遞數據Referer
    

    例.8.3(3.pcap)

    題目來源:2018信息安全鐵人三項數據賽

    直接進行過濾

    tcp contains "mysql" && mysql
    

    得到大量數據,可以發現黑客應該在對Mysql的登錄進行爆破,內網受害機器為192.168.2.20

    我們找到最后一條登錄數據

    該值就為我們需要的mysql密碼hash了

    簡單過濾一下

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http
    

    目標機器已經被掛上了tunnel.php,方便外網對內網的訪問

    為方便查看黑客操作,我們過濾出POST請求

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && http.request.method==POST && http
    

    我們清晰的看見黑客的php代理第一次使用時最先連接4.2.2.2這個ip,并且端口為53

    答案

    1.內網主機的mysql用戶名和請求連接的密碼hash是多少(用戶:密碼hash)admin:1a3068c3e29e03e3bcfdba6f8669ad23349dc6c42.php代理第一次被使用時最先連接了哪個IP地址4.2.2.2
    

    例8.4(4.pcap)

    題目來源:2018信息安全鐵人三項數據賽

    為確定黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什么時候,我們繼續進行過濾

    (ip.addr == 192.168.1.8 || ip.addr == 202.1.1.2) && (http contains "dir" || http contains "ls")
    

    此時一條為ls,一條為dir,我們先對ls的進行驗證

    追蹤其tcp流

    發現并沒有執行成功,再對dir進行驗證

    于是可以確定無誤,目標系統為windows,同時dir命令執行成功,時間為:18:37:38.482420,既然該192.168.2.20的機器可以執行命令,于是我改變過濾方式,查看黑客如何進行攻擊

    ip.addr == 192.168.2.20 && http
    

    可以看到上面幾條受害機器分別執行了 dir ,pwd,dir,以及echo%20.....等命令

    不難發現,黑客利用echo命令寫入了一個名為sh.php的后門

    然后往下翻看到黑客利用這個后門post 了一些東西,猜測應該是木馬文件,看一下:

    果然,木馬的密碼是123,是中國菜刀的流量

    我們進一步跟進黑客執行的指令,由于是中國菜刀流量,我們選擇根據回顯明文,猜測指令,這樣更有效率

    ip.src == 192.168.2.20 && http
    

    在18:50:09.344660時,我們發現可疑操作,我們發現一條可疑數據,判斷黑客應該是執行了net user的命令

    然后在18:50:42.908737發現黑客再次執行了net user命令,此時回顯為:

    看來黑客成功添加了管理員用戶kaka,確定了大致的作案時間,我們即可使用過濾

    確定了大致的作案時間,我們即可使用過濾

    ip.addr == 192.168.2.20 && http
    

    根據之前的判斷,我們可以知道 , 18:49:27.767754時,不存在kaka用戶

    18:50:42.908737時,kaka用戶已成為管理員

    所以可以斷定作案時間點在這段時間內

    在此期間,一共4個POST請求,我們挨個查看,果不其然,在第一個POST中就發現了問題

    Y2QvZCJDOlxwaHBTdHVkeVxXV1dcYjJldm9sdXRpb25caW5zdGFsbFx0ZXN0XCImbmV0IHVzZXIga2FrYSBrYWthIC9hZGQmZWNobyBbU10mY2QmZWNobyBbRV0=
    

    解碼后

    cd/d"C:\phpStudy\WWW\b2evolution\install\test\"&net user kaka kaka /add&echo [S]&cd&echo [E]
    

    可以明顯看到

    net user kaka kaka /add
    

    于是可以斷定,用戶名和密碼均為kaka

    最后一題既然是下載,應該是利用中國菜刀進行下載了,那我們只過濾出post流量,查看命令即可

    ip.dst == 192.168.2.20 && http.request.method==POST
    

    然后我們在數據包的最后發現如下數據

    我們將其解碼

    發現使用了procdump.exe

    同時發現文件

    解碼得到

            最后我們可以確定,黑客下載了 lsass.exe_180208_185247.dmp文件

    答案

    1.黑客第一次獲取到當前目錄下的文件列表的漏洞利用請求發生在什么時候18:37:38.4824202.黑客在內網主機中添加的用戶名和密碼是多少kaka:kaka3.黑客從內網服務器中下載下來的文件名lsass.exe_180208_185247.dmp
    原文鏈接:https://blog.csdn.net/vhkjhwbs/article/details/103605892
    
    黑客流量包
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    我見過的流量分析類型的題目總結: 一,ping 報文信息? 二,上傳/下載文件 三,sql注入攻擊 四,訪問特定的加密解密網站 五,后臺掃描+弱密碼爆破+菜刀 六,usb流量分析 七,WiFi無線密碼破解 八,根據一組流量了解黑客的具體行為例題:一,ping 報文信息?如果是菜刀下載文件的流量,需要刪除分組字節流前開頭和結尾的X@Y字符,否則下載的文件會出錯。
    攻擊者利用運維網管用戶群體需求,搭建偽造的官網站點,誘使下載偽造的運維工具,實現對受害主機遠程控制等竊密行為。
    2021 年,全球因勒索軟件造成的損失預計達到 200 億美元,遠高于 2015 年的 3.25 億美元。惡意流量按照攻擊行為可歸納為以下 3 種類型。攻擊行為括掃描探測、暴力破解等。相比按照惡意流量攻擊行為劃分,學術界更側重于根據惡意流量的內容特征、數據流特征及網絡連接行為特征等具體特征進行劃分。
    2021 年,隨著數字貨幣的流行以及國家間對抗的加劇,以“高級持續性威脅”(APT)組織為代表的黑客組織高度活躍,嚴重危及各國的政治、經濟和軍事安全,甚至一度引發社會動蕩。這一年來,利用主流產品的漏洞入侵系統仍是黑客組織最青睞的攻擊手段,被利用的零日漏洞僅上半年內就多達 40 個,范圍遍及 Window、Microsoft Office、iOS、Android 和 Chrome等幾乎所有主流系統和
    當下,流量數據作為人工智能時代最重要的資產,如何積累具有高價值的數據,是全流量溯源分析廠商需要思考的問題。
    成功入侵 SATCOM 網絡可能會給 SATCOM 網絡提供商的客戶環境帶來風險。
    CISA當地時間17日發布警告稱,該機構意識到美國和國際衛星通信 (SATCOM) 網絡可能面臨的威脅。成功入侵 SATCOM 網絡可能會給 SATCOM 網絡提供商的客戶環境帶來風險。CISA建議衛星運營商開始在入口和出口點監控異常流量括使用各種遠程訪問工具(Telnet、FTP、SSH等);連接到“意外”的網段;未經授權使用本地或備份帳戶;終端或封閉衛星通信網絡的意外流量;蠻力登錄嘗試,等
    根據Zscaler的最新報告,加密攻擊仍然是世界各國網絡安全專家面臨的一個重大威脅。
    經濟拒絕服務(EDoS)是一種針對云環境的網絡安全威脅,它利用云的彈性,尤其是自動擴展資源(意味著自動付費),來增加云用戶的賬單,直至該賬戶破產,最終破壞用戶的應用程序、系統、網絡等基礎設施的可持續性。 由于以下幾個原因,傳統的安全措施無法應對EDoS: EDoS流量使用IP欺騙技術,現有的網絡分析很難檢測,除非攻擊者使用已知的惡意IP;
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类