シリーズ記事の目次
Web ネットワーク セキュリティ-----赤と青の攻撃と防御の情報収集
Web ネットワーク セキュリティ-----Log4j の高リスク脆弱性の原則と修復
記事ディレクトリ
序文
トレーサビリティは、ネットワークの攻撃と防御において非常に重要です。著者は、最近のトレーサビリティの機会を利用して、いくつかの一般的な Linux 緊急トレーサビリティ コマンドを学習し、要約しました。これらのコマンドは、その後の学習プロセス中に継続的に更新されます。
1. よく使われるコマンド
1. アカウント関連
<1>特権ユーザーのクエリ 特権ユーザー (uid が 0):
[root@localhost ~]# awk -F: '$3==0{print $1}' /etc/passwd
root
<2>リモートログイン可能なアカウント情報を問い合わせます。
[root@localhost ~]# awk '/\$1|\$6/{print $1}' /etc/shadow
root:$1$VJkWOIro$gRi9wy.FrsUE/W5oc3vVS.:18644:0:99999:7:::
xxxxx:$1$VJkWOIro$gRi9wy.FrsUE/W5oc3vVS.:18644:0:99999:7::
<3>現在ログインしているユーザーを表示します (tty ローカル ログイン pts リモート ログイン) /var/log/utmp:
2. プログラム関連
<1>現在開いているポートを表示します。
netstat -tnlp
<2>現在のシステムで実行中のすべてのプロセスを表示します
ps -ef
<3>検索プロセス
//查看含有 a 的所有进程
ps aux | grep a
<4>プロセスのリアルタイムのステータスを表示する
top
<5>CPU 使用率の上位 10 のプロセスを表示し、上位を補完します
ps aux --sort=pcpu | head -10
<6>プロセスを強制終了します
kill 进程号
// 强制杀死进程
kill -9 进程号
3. ログ関連
<1>デフォルトのログ保存場所:
/var/log/
ログファイル | 説明する |
---|---|
/var/log/cron | システムのスケジュールされたタスクに関連する記録されたログ |
/var/log/cups | 印刷情報を記録するログ |
/var/log/dmesg | システムの電源投入時にカーネルのセルフテスト情報が記録されます。また、dmesg コマンドを使用してカーネルのセルフテスト情報を直接表示することもできます。 |
/var/log/maillog | 電子メール情報を記録する |
/var/ログ/メッセージ | システムに関する重要な情報を記録するログ。このログ ファイルには、Linux システムの重要な情報のほとんどが記録されており、システムに問題がある場合は、最初にこのログ ファイルを確認する必要があります。 |
/var/log/btmp | エラー ログイン ログを記録します。このファイルはバイナリ ファイルなので、vi で直接表示できません。代わりに、lastb コマンドを使用して表示する必要があります。 |
/var/log/loadlog | システム内のすべてのユーザーの最終ログイン時刻を記録するログ。このファイルはバイナリ ファイルなので、vi から直接表示できません。代わりに、lastlog コマンドを使用して表示する必要があります。 |
/var/log/wtmp | すべてのユーザーのログイン情報とログアウト情報、およびシステムの起動、再起動、およびシャットダウンのイベントを永続的に記録します。同様に、このファイルもバイナリ ファイルであるため、直接表示することはできず、最後のコマンドを使用して表示する必要があります。 |
/var/log/utmp | 現在ログインしているユーザーの情報を記録します。このファイルは、ユーザーのログインとログアウトに応じて継続的に変更されます。現在ログインしているユーザーの情報のみが記録されます。同様に、このファイルを直接 vi にすることはできませんが、w、who、users、およびその他のコマンドを使用してクエリする必要があります。 |
/var/log/secure | 認証および認可情報を記録する: SSH ログイン、su ユーザー切り替え、sudo 認可など、アカウントとパスワードに関係するプログラムはすべてこのログ ファイルに記録され、さらにユーザーの追加やユーザー パスワードの変更も記録されます。 |
<2>一部のログコマンド
1.查看系统的成功登录、关机、重启等 /var/log/wtmp
last
2.查看登陆失败的用户日志 /var/log/btmp
lastb
3.#查看所有用户登陆日志 /var/log/lastlog
lastlog
4.#查看谁在使用某个端口
lsof -i :5001
5.#查看内部对外的网络连接
lsof -nPi
6.#集诊断、调试、统计一体的工具。`strace -f -p pid` 查看进行的行为
Strace
7.#Linux工具,如果系统命令被替换了可以使用此命令来查看系统相关信息。
busybox
<3>root アカウントを爆破するための関連コマンドを見つけます。
1.定位爆破root帐号来源IP
grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
2.定位有哪些IP在爆破:
grep "Failed password" /var/log/secure|grep -E -o "(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)"|uniq -c
3.爆破用户名字典是什么?
grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
<4> ログイン成功時のIPを問い合わせる
#last命令,它会读取位于/var/log/wtmp的文件,并把该文件记录的登录系统的用户名单。
#grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
<5>ユーザーログのクエリと追加
#登录成功的日期、用户名、IP:
#grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
#grep "useradd" /var/log/secure
Jul 10 00:12:15 localhost useradd[2382]: new group: name=kali, GID=1001
Jul 10 00:12:15 localhost useradd[2382]: new user: name=kali, UID=1001, GID=1001, home=/home/kali
, shell=/bin/bash
Jul 10 00:12:58 localhost passwd: pam_unix(passwd:chauthtok): password changed for kali
<6> ユーザーログの照会と削除
# grep "userdel" /var/log/secure
Jul 10 00:14:17 localhost userdel[2393]: delete user 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed group 'kali' owned by 'kali'
Jul 10 00:14:17 localhost userdel[2393]: removed shadow group 'kali' owned by 'kali'
4. スケジュールされたタスクに関連する
<1>以下のファイルとタイミングファイルを確認してください。
/var/spool/cron/*
/etc/crontab
/etc/cron.d/*
/etc/cron.daily/*
/etc/cron.hourly/*
/etc/cron.monthly/*
/etc/cron.weekly/
/etc/anacrontab
/var/spool/anacron/*
<2># ディレクトリ内のすべてのファイルを表示 <1> は
/etc/cron.daily/* にすることができます
5. テキスト関連
<1>grep で前後のデータを検索する
1. 显示1.txt文件里匹配funk字串那行以及上下5行
grep -C 5 funk 1.txt
2.显示当前及前5行
grep -B 5 funk 1.txt
3.显示当前及后5行
grep -A 5 funk 1.txt
<2>grep は特定の文字列を含むすべてのファイルを検索します
grep -rn "funk" *
* : 表示当前目录所有文件,也可以是某个文件名
-r 是递归查找
-n 是显示行号
-R 查找所有文件包含子目录
-i 忽略大小写
<3>ファイルの数行を表示
从第100行开始,显示200行,显示100~299行
cat shell.php | tail -n +100 | head -n 200
6. その他関連
<1>最近変更された各種スクリプトファイルやその他のファイルを表示する
1.查找24小时内被修改的JSP文件
find ./ -mtime 0 -name "*.jsp"
find ./ -mtime 0 -name "*.php"
2.查看密码文件上一次修改的时间(最近改动)
stat /etc/passwd
3.查看除无法登录以外的用户,有无新增
cat /etc/passwd | grep -v nologin
4.查看哪些用户为root权限,有无新增
cat /etc/passwd | grep x:0
5.查看哪些用户使用shell
cat /etc/passwd | grep /bin/bash
<2>ドメイン名ホスト
vim /etc/hosts
要約する
歩数を積まなければ千里にも届かず、小さな流れを積まなければ川や海にもたどり着けません。