干貨|《知了堂信安筆記》教會你捕捉短連接的小技巧

0x00 前言
短連接(short connnection)是相對于長連接而言的概念,指的是在數據傳送過程中,只在需要發(fā)送數據時,才去建立一個連接,數據發(fā)送完成后,則斷開此連接,即每次連接只完成一項業(yè)務的發(fā)送。在系統(tǒng)維護中,一般很難去察覺,需要借助網絡安全設備或者抓包分析,才能夠去發(fā)現。
0x01 應急場景
某天,網絡管理員在出口WAF檢測到某臺服務器不斷向香港I發(fā)起請求 ,感覺很奇怪,登錄服務器排查,想要找到發(fā)起短連接的進程。
0x02 日志分析
登錄服務器查看端口、進程,并未發(fā)現發(fā)現服務器異常,但是當多次刷新端口連接時,可以查看該連接。有時候一直刷這條命令好十幾次才會出現,像這種的短連接極難捕捉到對應的進程和源文件。

手動捕捉估計沒戲,很難追蹤,于是動手寫了一段小腳本來捕捉短連接對應的pid和源文件。腳本文件如下:
#!/bin/bash
ip=118.184.15.40
i=1
while :
do
? tmp=netstat -anplt|grep $ip|awk -F '[/]' '{print $1}'|awk '{print $7}'
? #echo $tmp
? if test -z "$tmp"
? then
? ? ? ((i=i+1))
? else
? ? ? for pid in $tmp; do
? ? ? ? ? echo "PID: "${pid}
? ? ? ? ?result=ls -lh /proc/$pid|grep exe
? ? ? ? ?echo "Process: "${result}
? ? ? ? ?kill -9 $pid
? ? ? done
? ? ? break
? fi
done
echo "Total number of times: "${i}
運行結果如下:

跑了三次腳本,可以發(fā)現短連接每次發(fā)起的進程Pid一直在變,但已經捕捉到發(fā)起該異常連接的進程源文件為 /usr/lib/nfsiod
0x03?小結
本文簡單介紹了短連接以及捕捉短連接源文件的技巧,站在安全管理員的角度,應加強對網絡安全設備的管理,在網絡層去發(fā)現更多在系統(tǒng)層很難察覺的安全威脅。
