banner
lca

lca

真正的不自由,是在自己的心中设下牢笼。

linux下の緊急対応(基礎知識記録)

CPU 使用率の確認#

CPU 使用率を確認する目的は、どのプロセスが CPU を過剰に使用しているかを特定することです(マイニングに関連)。

top -c -o %CPU
htop -t

# CPU使用率が高い上位5つのプロセスを確認
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%cpu | head -n 5

image

メモリ使用率#

top -c -o %MEM
htop -t

# メモリ使用率が高い上位5つのプロセスを確認
ps -eo pid,ppid,%mem,%cpu,cmd --sort=-%mem | head -n 5

ネットワーク使用率#

iftop # インストールが必要、root権限で実行、プロセスIDは表示されません
nethogs # インストールが必要、root権限で実行、プロセスIDを表示します
ss -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -nr # ローカルネットワークインターフェースのIP接続数を確認(送信元IP)
ss -ntu | awk '{print $6}' | cut -d ":" -f1 | sort | uniq -c | sort -nr # 目的IP接続数を確認(目的IP)

image.png

外部 IP の確認#

# 目的IPで検索
netstat -pantu | grep 1.1.1.1
netstat -pantu | grep 3389
lsof -i:3389 # root権限
# 自分のIPで検索
netstat -pantu | grep 3389
lsof -i:3389

悪意のあるサンプルの検索#

  • PID を取得して悪意のあるファイルのパスを見つける
  • 悪意のあるファイルを見つけた - PID

プロセス名または部分文字列から PID を取得

pidof "name"
ps -aux | grep "name"
ps -ef | grep "name" | grep -v grep | awk '{print $2}'
pgrep -f "name"

image

PID からプロセスの詳細情報を取得

lsof -p PID # root権限
pwdx PID # root権限、指定したPIDのプロセスが起動したディレクトリを取得、つまり悪意のあるファイルが起動したパス
systemctl status PID # このプロセスのステータス情報を取得
cat /proc/PID/maps # 指定したプロセスのメモリマッピング情報を出力
ls -al /proc/1505945/exe # 指定したプロセスが実行しているプログラムの絶対パスを出力
cat /proc/$$/mountinfo # 現在のプロセスがマウントしているファイルシステム情報を確認、ここで$$は現在のプロセスのプロセスID(PID)を示します。

スレッドの確認

ps H -T -p PID # pidはプロセスID、spidはスレッドID、CMDはプロセス/スレッドのコマンドラインを示します
ps -Lf PID # 指定したプロセス内の各スレッドの情報を表示
pstree -agplU # システム内のすべてのプロセス関係を表示 ✅

ファイルから PID を見つける

lsof | grep FILENAME
lsof FILENAME
fuser FILENAME # 特定のファイルまたはソケットを使用しているプロセスを見つけるためのコマンド

プログラムの実行時間を確認#

ps -eo pid,lstart,etime,cmd | grep  PID

# 悪意のあるファイルの作成時間と比較
stat FILENAME
ls -al FILENAME

image

異常プロセスの処理#

1、サーバーからサンプルをダウンロード
2、ウイルスのオンライン分析
3、プロセスの終了

1、子プロセスが存在するか確認
ps ajfx
systemctl status

2、子プロセスがない場合
kill -9 PID

3、子プロセスが存在する場合
kill -9 -PID

悪意のあるファイルの削除#

1、プロセスが占有しているか確認

lsof FILENAME

2、a および i 属性によりファイルが削除できない場合

chattr -a
chattr -i

3、奇妙なファイル名により削除できない場合

  • inode ノードを使用して削除
ls -li FILENAME # inodeを確認

image

  • ファイルを削除
find ./* -inum INODE -delete
find ./ -inum INODE -exec rm {} \;
find ./* -inum INODE -exec rm -i {} \; # 削除するかどうかの確認
find ./* -inum INODE -exec rm -f {} \; # 強制削除
find ./* -inum INODE | xargs rm -rf
rm `find ./* -inum INODE`

大部分の緊急事態のプロセスに必要なコマンドはこれらです。異なる事象に対しては若干の違いがあります:

拡張 1 netstat における TCP 接続状態の例#

状態           タイプ                説明                                                                                                            
LISTEN        TCP リスニングポート リスニング状態。指定されたポートが接続を待機していることを示します。                                                         
SYN_SENT      TCP 伝送制御プロトコル状態 接続要求が送信されました。TCP 接続が開始されたが、確認がまだ受信されていないことを示します。                                                 
SYN_RECV      TCP 伝送制御プロトコル状態 接続要求を受信中です。TCP 接続が受信され、確認を待機していることを示します。通常はサーバーで発生し、クライアントの要求を受信したことを示します。
ESTABLISHED   TCP 伝送制御プロトコル状態 TCP 接続が確立され、通信中であることを示します。                                                                             
FIN_WAIT1     TCP 伝送制御プロトコル状態 TCP 接続が閉じられ、相手からの接続終了要求を待機していることを示します。                                                           
FIN_WAIT2     TCP 伝送制御プロトコル状態 TCP 接続が閉じられ、相手からの接続終了要求を待機しているか、相手から最終確認を受信中であることを示します。                             
TIME_WAIT     TCP 伝送制御プロトコル状態 TCP 接続が閉じられ、すべてのデータが転送完了し、すべてのパケットが処理されるのを待機していることを示します。                   
CLOSE_WAIT    TCP 伝送制御プロトコル状態 TCP 接続が閉じられたが、ローカルアプリケーションが接続をまだ閉じていないことを示します。                                                       
LAST_ACK      TCP 伝送制御プロトコル状態 閉じる要求が送信され、相手の閉じる要求を待機中です。                                                                    
CLOSING       TCP 伝送制御プロトコル状態 TCP 接続が閉じる過程にあることを示します。                                                                                   

拡張 2 IP が正常かどうかの確認#

三段階:脅威インテリジェンスの確認-ドメイン登録の確認-企業の確認

微步脅威インテリジェンスでいくつかの情報を確認できます。

image.png

以下の情報も確認できます。

image.png

ドメインがあれば登録を確認できます(国内)。

image.png

登録があれば会社を確認できます。

image.png

その他#

GitHub - T0xst/linux: linux セキュリティチェック
Security/1earn/Security/BlueTeam/ 緊急
Blue-Team / 緊急 /linux 緊急対応マニュアル
linux 緊急対応マニュアル 1.7

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。