1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        Linux手工入侵排查思路

        共 4127字,需瀏覽 9分鐘

         ·

        2021-04-22 00:21

        當Linux主機發(fā)生安全事件需要進行入侵排查時,一般可以使用常見的shell命令,通過分析主機的異?,F象、進程端口、啟動方式、可疑文件和日志記錄等信息以確認主機是否被入侵。

        在這里,結合工作中Linux安全事件分析處理辦法,總結了Linux手工入侵排查過程中的分析方法。


        01、檢查系統(tǒng)賬號

        從攻擊者的角度來說,入侵者在入侵成功后,往往會留下后門以便再次訪問被入侵的系統(tǒng),而創(chuàng)建系統(tǒng)賬號是一種比較常見的后門方式。在做入侵排查的時候,用戶配置文件/etc/passwd和密碼配置文件/etc/shadow是需要去重點關注的地方。

        (1)查詢特權用戶特權用戶(uid 為0)

        awk -F: '$3==0{print $1}' /etc/passwd

        (2)查詢可以遠程登錄的帳號信息

        awk '/\$1|\$6/{print $1}' /etc/shadow

        (3)除root帳號外,其他帳號是否存在sudo權限。如非管理需要,普通帳號應刪除sudo權限

        more /etc/sudoers | grep -v "^#\|^$" | grep "ALL=(ALL)"

        (4)禁用或刪除多余及可疑的帳號

        usermod -L user    禁用帳號,帳號無法登錄,/etc/shadow第二欄為!開頭userdel user       刪除user用戶userdel -r user    將刪除user用戶,并且將/home目錄下的user目錄一并刪除

        (5)當前登錄當前系統(tǒng)的用戶信息

        who     查看當前登錄用戶(tty本地登陸  pts遠程登錄)w       查看系統(tǒng)信息,想知道某一時刻用戶的行為uptime  查看登陸多久、多少用戶,負載

        02、檢查異常端口

        (1)使用netstat 網絡連接命令,分析可疑端口、IP、PID等信息。

        netstat -antlp|more

        (2)如發(fā)現異常的網絡連接需要持續(xù)觀察,可抓包分析

        tcpdump -c 10 -q   //精簡模式顯示 10個包

        03、檢查可疑進程

        (1)使用ps命令列出系統(tǒng)中當前運行的那些進程,分析異常的進程名、PID,可疑的命令行等。

        ps aux / ps -ef

        (2)通過top命令顯示系統(tǒng)中各個進程的資源占用狀況,如發(fā)現資源占用過高

        top

        (3)如發(fā)現異常,可使用一下命令進一步排查:

        查看該進程啟動的完整命令行: ps eho command -p $PID查看該進程啟動時候所在的目錄: readlink /proc/$PID/cwd查看下pid所對應的進程文件路徑:ls -l /proc/$PID/exe查看該進程啟動時的完整環(huán)境變量: strings -f /proc/1461/environ | cut -f2 -d ''列出該進程所打開的所有文件: lsof -p $PID

        04、檢查系統(tǒng)服務

        Linux系統(tǒng)服務管理,CentOS7使用systemd控制   CentOS6之前使用chkconfig控制。

        (1)對于systemd服務管理器來說,可以通過下述方式查看開機自啟的服務:

        systemctl list-unit-files --type=service | grep "enabled"

        (2)chkconfig就是CentOS6以前用來控制系統(tǒng)服務的工具,查看服務自啟動狀態(tài):

        chkconfig  --list  chkconfig --list | grep "3:on\|5:on"

        05、檢查開機啟動項

        (1)檢查啟動項腳本

        more /etc/rc.local /etc/rc.d/rc[0~6].d ls -l /etc/rc.d/rc3.d/

        (2)例子:當我們需要開機啟動自己的腳本時,只需要將可執(zhí)行腳本丟在/etc/init.d目錄下,然后在/etc/rc.d/rc*.d中建立軟鏈接即可

        ln -s /etc/init.d/sshd /etc/rc.d/rc3.d/S100ssh

        此處sshd是具體服務的腳本文件,S100ssh是其軟鏈接,S開頭代表加載時自啟動;如果是K開頭的腳本文件,代表運行級別加載時需要關閉的。

        06、檢查計劃任務

        利用計劃任務進行權限維持,可作為一種持久性機制被入侵者利用。檢查異常的計劃任務,需要重點關注以下目錄中是否存在惡意腳本。

        /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/*

        07、檢查異常文件

        1、查看敏感目錄,如/tmp目錄下的文件,同時注意隱藏文件夾,以“..”為名的文件夾具有隱藏屬性

        2、得到發(fā)現WEBSHELL、遠控木馬的創(chuàng)建時間,如何找出同一時間范圍內創(chuàng)建的文件?

        可以使用find命令來查找,如 find /opt -iname "*" -atime 1 -type f 找出 /opt 下一天前訪問過的文件

        3、針對可疑文件可以使用stat進行創(chuàng)建修改時間。

        08、檢查歷史命令

        一般而言,入侵者獲取shell之后,會執(zhí)行一些系統(tǒng)命令從而在主機上留下痕跡,我們可以通過history命令查詢shell命令的執(zhí)行歷史。

        (1)查詢某個用戶在系統(tǒng)上執(zhí)行了什么命令

        使用root用戶登錄系統(tǒng),檢查/home目錄下的用戶主目錄的.bash_history文件

        (2)默認情況下,系統(tǒng)可以保存1000條的歷史命令,并不記錄命令執(zhí)行的時間,根據需要進行安全加固。

        a)保存1萬條命令sed -i 's/^HISTSIZE=1000/HISTSIZE=10000/g' /etc/profileb)在/etc/profile的文件尾部添加如下行數配置信息:######jiagu history xianshi#########USER_IP=`who -u am i 2>/dev/null | awk '{print $NF}' | sed -e 's/[()]//g'`if [ "$USER_IP" = "" ]thenUSER_IP=`hostname`fiexport HISTTIMEFORMAT="%F %T $USER_IP `whoami` "shopt -s histappendexport PROMPT_COMMAND="history -a"######### jiagu history xianshi ##########c)source /etc/profile讓配置生效

        09、檢查系統(tǒng)日志

        在Linux上一般跟系統(tǒng)相關的日志默認都會放到/var/log下面,若是一旦出現問題,用戶就可以通過查看日志來迅速定位,及時解決問題。常用日志文件如下:

        /var/log/btmp:記錄錯誤登錄日志,這個文件是二進制文件,不能直接vi查看,而要使用lastb命令查看。/var/log/lastlog:記錄系統(tǒng)中所有用戶最后一次登錄時間的日志,這個文件是二進制文件,不能直接vi,而要使用lastlog命令查看。/var/log/wtmp:永久記錄所有用戶的登錄、注銷信息,同時記錄系統(tǒng)的啟動、重啟、關機事件。同樣這個文件也是一個二進制文件,不能直接vi,而需要使用last命令來查看。/var/log/utmp:記錄當前已經登錄的用戶信息,這個文件會隨著用戶的登錄和注銷不斷變化,只記錄當前登錄用戶的信息。同樣這個文件不能直接vi,而要使用w,who,users等命令來查詢。/var/log/secure:記錄驗證和授權方面的信息,只要涉及賬號和密碼的程序都會記錄,比如SSH登錄,su切換用戶,sudo授權,甚至添加用戶和修改用戶密碼都會記錄在這個日志文件中

        一般,我們需要重點去關注secure安全日志,檢查系統(tǒng)錯誤登陸日志,統(tǒng)計IP重試次數,成功登錄的時間、用戶名和ip,確認賬號是否存在暴力破解或異常登錄的情況。

        1、定位有多少IP在爆破主機的root帳號:grep "Failed password for root" /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
        定位有哪些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
        爆破用戶名字典是什么? grep "Failed password" /var/log/secure|perl -e 'while($_=<>){ /for(.*?) from/; print "$1\n";}'|uniq -c|sort -nr
        2、登錄成功的IP有哪些:grep "Accepted " /var/log/secure | awk '{print $11}' | sort | uniq -c | sort -nr | more
        登錄成功的日期、用戶名、IP:grep "Accepted " /var/log/secure | awk '{print $1,$2,$3,$9,$11}'
        瀏覽 92
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            看一级黄色视频 | 91国产视频在线播放 | 两女互相磨豆腐呻呤hhh视频 | 99热精品视 | 国产福利社区 | 黄片免费播放站 | 97色色得 | 国产午夜精品理论片A级A片91 | 大鸡吧插小穴 | 超碰大香蕉97 |