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

    詳細|Linux內網滲透基礎篇

    VSole2023-01-14 10:45:13

    Linux信息收集

    本機基本信息

    #管理員
    $普通用戶
    @之前表示登錄的用戶名稱,之后表示主機名,再之后表示當前所在目錄
    / 表示根目錄  
    ~表示當前用戶家目錄
    

    1、內核,操作系統和設備信息

    uname -a  打印所有可用的系統信息
    uname -r  內核版本
    uname -n  系統主機名。
    uname -m  查看系統內核架構(64位/32位)
    hostname  系統主機名
    lsb_release -a   發行版信息
    cat /proc/version  內核信息
    cat /etc/*-release  發行版信息
    cat /etc/issue    發行版信息
    cat /proc/cpuinfo  CPU信息
    

    2、用戶和群組

    cat /etc/passwd     列出系統上的所有用戶
    cat /etc/shadow     查看用戶Hash
    cat /etc/group      列出系統上的所有組
    groups              當前用戶所在的組
    groups test         test用戶所在的組
    getent group xxx      xxx組里的用戶
    grep -v -E "^#" /etc/passwd | awk -F: '$3 == 0 { print $1}'      列出所有的超級用戶賬戶
    awk -F: 'length($2)==0 {print $1}' /etc/shadow  #查看是否存在空口令用戶
    awk '/\$1|\$6/{print $1}' /etc/shadow #查看遠程登錄的賬號 
    whoami              查看當前用戶
    w                   誰目前已登錄,他們正在做什么
    who                 命令用于顯示系統中有哪些使用者正在上面
    last                最后登錄用戶的列表
    lastlog             所有用戶上次登錄的信息
    lastlog –u %username%  有關指定用戶上次登錄的信息
    

    [^可以看到yokan用戶在sudo組里]:

    3、用戶和權限信息

    whoami        當前用戶名
    id            當前用戶信息
    cat /etc/sudoers  可以使用sudo提升到root的用戶
    sudo -l       當前用戶可以以root身份執行操作
    

    yokan用戶可以以root身份執行任意操作

    4、環境信息

    env        顯示所有的環境變量
    set        顯示本地環境變量
    echo $PATH 環境變量中的路徑信息
    export [-fnp][變量名稱]=[變量設置值]     顯示和設置環境變量   
    pwd        輸出工作目錄
    cat /etc/profile   顯示默認系統變量
    cat /etc/shells    顯示可用的shell
    ls -la /etc/*.conf  查看etc下所有配置文件
    

    5、歷史命令

    顯示當前用戶的歷史命令記錄

    history    
    cat ~/.bash_history  
    # 查看其他用戶的歷史命令文件
    cat /home/user/.bash_history
    

    history顯示內存和~/.bash_history中的所有內容;內存中的內容并沒有立刻寫入~/.bash_history,只有當當前shell關閉時才會將內存內容寫入shell

    6、進程信息

    ps aux   以用戶的格式顯示所有進程,包括非終端的進程
    ps -ef   顯示所有進程,顯示UID,PPIP(父進程),C與STIME欄位
    ps -ef | grep java   查詢某個應用的所有進程信息
    top      實時顯示占用最多的進程
    

    如果想查看進程的CPU占用率和內存占用率,可以使用aux
    如果想查看進程的父進程ID和完整的COMMAND命令,可以使用-ef
    lsof -c $PID           查看進程關聯文件
    /proc/$PID/cmdline     完整命令行信息 
    /proc/$PID/comm        進程的命令名 
    /proc/$PID/cwd         進程當前工作目錄的符號鏈接 
    /proc/$PID/exe         運行程序的符號鏈接 
    /proc/$PID/environ     進程的環境變量 
    /proc/$PID/fd          進程打開文件的情況 
    

    7、服務信息

    cat /etc/services      查詢存在的服務
    cat /etc/services | grep Java     查詢對應的服務
    systemctl list-units --type=service --state=running   查詢已經開啟的服務
    

    8、計劃任務

    在Linux系統中,計劃任務一般是由cron承擔。cron啟動后,它會讀取它的所有配置文件(全局性配置文件/etc/crontab,以及每個用戶的計劃任務配置文件),然后cron會根據命令和執行時間來按時來調用工作任務。

    /var/spool/cron/crontabs :這個目錄以賬號來區分每個用戶自己的執行計劃
    /etc/crontab :系統執行計劃,需要在后邊加上用戶格式
    所有計劃任務項:
    /var/spool/cron/*
    /var/spool/anacron/*
    /etc/crontab
    /etc/anacrontab
    /etc/cron.*
    /etc/anacrontab
    crontab -l    查詢當前用戶所有的計劃任務
    crontab -l -u user   查詢指定用戶的計劃任務
    cat /var/spool/cron/crontabs/root   查詢root用戶的計劃任務
    

    9、網絡、路由和通信

    查詢ip

    ifconfig
    ip addr
    

    打印路由信息

    route         查詢路由表
    route -n      查詢路由表,以ip地址顯示
    netstat -r    查詢路由表
    ip ro
    

    查看系統arp表

    arp -a
    

    端口開放情況

    netstat -antup     所有端口
    netstat -antp      tcp端口
    netstat -anup      udp端口
    

    查看端口服務映射

    cat /etc/services
    

    列出iptables的配置規則

    iptables -L
    

    顯示網卡信息

    netstat -i
    

    dns信息

    cat /etc/resolv.conf      查看dns配置信息
    dnsdomainname -V          打印DNS系統中FQDN名稱中的域名
    cat /etc/hosts            查看hosts域名解析文件
    

    10、已安裝應用

    rpm -qa --last     #Redhat、CentOS
    rpm -qa polkit     #查看指定應用的安裝版本
    dpkg -l            #ubuntu、debian
    dpkg -l policykit-1   #查看指定應用的安裝版本
    dpkg -L xxx        #查詢某個軟件所關聯的文件
    

    11、查找能寫或執行的目錄

    find / -writable -type d 2>/dev/null
    find / -perm -o+w -type d 2>/dev/null
    find / -perm -o+x -type d 2>/dev/null
    

    12、防火墻

    iptables -L   查看防火墻配置
    查看防火墻狀態:
    systemctl status firewalld
    service iptables status
    暫時關閉防火墻:
    systemctl stop firewalld
    service iptables stop
    永久關閉防火墻:
    systemctl disable firewalld
    chkconfig iptables off
    重啟防火墻:
    systemctl enable firewalld
    service iptables restart
    

    13、敏感文件

    find命令 -o參數 表示 或者 的意思
    find / -type f -iname "*.bash_history" -o -iname "*config*" -o -iname "web.xml" -o -iname "*database*" -o -iname "*pass*" 2>/dev/null
    

    查找SSH密鑰:

    find / -name "id_dsa*" -o -name "id_rsa*" -o -name "known_hosts" -o -name "authorized_hosts" -o -name "authorized_keys" 2>/dev/null |xargs -r ls
    

    Web應用服務

    常見配置文件路徑:

    /apache/apache/conf/httpd.conf
    /apache/apache2/conf/httpd.conf
    /apache/php/php.ini
    /bin/php.ini
    /etc/apache/apache.conf
    /etc/apache/httpd.conf
    /etc/apache2/apache.conf
    /etc/apache2/httpd.conf
    /etc/apache2/sites-available/default
    /etc/apache2/vhosts.d/00_default_vhost.conf
    /etc/httpd/conf.d/httpd.conf
    /etc/httpd/conf.d/php.conf
    /etc/httpd/conf/httpd.conf
    /etc/httpd/php.ini
    /etc/init.d/httpd
    /etc/php.ini
    /etc/php/apache/php.ini
    /etc/php/apache2/php.ini
    /etc/php/cgi/php.ini
    /etc/php/php.ini
    /etc/php/php4/php.ini
    /etc/php4.4/fcgi/php.ini
    /etc/php4/apache/php.ini
    /etc/php4/apache2/php.ini
    /etc/php4/cgi/php.ini
    /etc/php5/apache/php.ini
    /etc/php5/apache2/php.ini
    /etc/php5/cgi/php.ini
    /etc/phpmyadmin/config.inc.php
    /home/apache/conf/httpd.conf
    /home/apache2/conf/httpd.conf
    /home/bin/stable/apache/php.ini
    /home2/bin/stable/apache/php.ini
    /NetServer/bin/stable/apache/php.ini
    /opt/www/conf/httpd.conf
    /opt/xampp/etc/php.ini
    /PHP/php.ini
    /php/php.ini
    /php4/php.ini
    /php5/php.ini
    /usr/lib/php.ini
    /etc/nginx/nginx.conf
    /usr/lib/php/php.ini
    /usr/local/apache/conf/httpd.conf
    /usr/local/apache/conf/php.ini
    /usr/local/apache2/conf/httpd.conf
    /usr/local/apache2/conf/php.ini
    /usr/local/etc/php.ini
    /usr/local/httpd/conf/httpd.conf
    /usr/local/lib/php.ini
    /usr/local/php/lib/php.ini
    /usr/local/php4/lib/php.ini
    /usr/local/php4/lib/php.ini
    /usr/local/php4/php.ini
    /usr/local/php5/etc/php.ini
    /usr/local/php5/lib/php.ini
    /usr/local/php5/php5.ini
    /usr/local/share/examples/php/php.ini
    /usr/local/share/examples/php4/php.ini
    /usr/local/Zend/etc/php.ini
    /var/apache2/config.inc
    /var/httpd/conf/httpd.conf
    /var/httpd/conf/php.ini
    /var/httpd/conf/php.ini
    /var/local/www/conf/httpd.conf
    /var/local/www/conf/php.ini
    /var/www/conf/httpd.conf
    /web/conf/php.ini
    /www/conf/httpd.conf
    /www/php/php.ini
    /www/php4/php.ini
    /www/php5/php.ini
    /xampp/apache/bin/php.ini
    /xampp/apache/conf/httpd.conf
    

    數據庫

    /etc/init.d/mysql
    /etc/my.cnf
    /etc/mysql/my.cnf
    /etc/mysql/my.cnf
    /var/lib/mysql/my.cnf
    /var/lib/mysql/mysql/user.MYD
    /usr/local/mysql/bin/mysql
    /usr/local/mysql/my.cnf
    /usr/share/mysql/my.cnf
    

    自動化腳本

    linux_info.sh

    #!/bin/bash
    #輸出文件
    filename=$(date +%s)'.log'
    echo "信息收集"
    echo -e "" | tee -a $filename
    echo "賬戶信息收集" | tee -a $filename
    cat /etc/passwd | tee -a $filename
    echo -e "" | tee -a $filename
    echo "shadow" | tee -a $filename
    cat /etc/shadow | tee -a $filename
    echo -e "" | tee -a $filename
    echo "進程信息收集" | tee -a $filename
    ps aux | tee -a $filename
    echo -e "" | tee -a $filename
    echo "網絡連接" | tee -a $filename
    netstat -antlp | tee -a $filename
    echo -e "" | tee -a $filename
    echo "當前用戶:" $(whoami) 2>/dev/null | tee -a $filename
    echo -e "" | tee -a $filename
    echo "端口監聽" | tee -a $filename
    netstat -lnpt | tee -a $filename
    echo -e "" | tee -a $filename
    echo "可登陸用戶" | tee -a $filename
    cat /etc/passwd | grep -E -v 'nologin$|false' | tee -a $filename
    echo -e "" | tee -a $filename
    echo "增加用戶的日志" | tee -a $filename
    grep "useradd" /var/log/secure  | tee -a $filename
    echo -e "" | tee -a $filename
    echo "History操作提取" | tee -a $filename
    cat ~/.*history | tee -a $filename
    echo -e "" | tee -a $filename
    echo "登錄成功的IP" | tee -a $filename
    grep "Accepted " /var/log/secure* | awk '{print $11}' | sort | uniq -c | sort -nr | more | tee -a $filename   
    echo -e "" | tee -a $filename
    echo "查看路由表" | tee -a $filename
    route -n | tee -a $filename
    echo -e "" | tee -a $filename
    echo "查看 SSH key" | tee -a $filename
    sshkey=${HOME}/.ssh/authorized_keys
    if [ -e "${sshkey}" ]; then
        cat ${sshkey} | tee -a $filename
    else
        echo -e "SSH key文件不存在" | tee -a $filename
    fi
    echo -e "" | tee -a $filename
    echo "查看 known_hosts" | tee -a $filename
    cat ~/.ssh/known_hosts | tee -a $filename
    echo -e "" | tee -a $filename
    echo "查找WEB-INF" | tee -a $filename
    find / -name *.properties 2>/dev/null | grep WEB-INF | tee -a $filename
    echo -e "" | tee -a $filename
    echo "user|pass|pwd|uname|login|db_" | tee -a $filename
    find / -name "*.properties" | xargs egrep -i "user|pass|pwd|uname|login|db_" | tee -a $filename
    echo -e "" | tee -a $filename
    echo "jdbc:|pass=|passwd=" | tee -a $filename
    find / -regex ".*\.properties\|.*\.conf\|.*\.config\|.*\.sh" | xargs grep -E "=jdbc:|pass=|passwd=" | tee -a $filename
    echo -e "" | tee -a $filename
    # Author cances
    echo "ip和網卡信息" | tee -a $filename
    ip a | awk '{print $2,$4}' | tee -a $filename
    echo -e "" | tee -a $filename
    echo "可登陸用戶" | tee -a $filename
    cat /etc/passwd | grep -E -v 'sync$|halt$|nologin$|false|shutdown' | tee -a $filename
    echo -e "" | tee -a $filename
    echo "用戶登陸日志" | tee -a $filename
    lastlog | tee -a $filename
    echo -e "" | tee -a $filename
    echo "查看 hosts" | tee -a $filename
    cat /etc/hosts | tee -a $filename
    echo -e "" | tee -a $filename
    echo "查看 系統版本" | tee -a $filename
    cat /etc/*-release | tee -a $filename
    echo -e "" | tee -a $filename
    echo "查看 內核版本" | tee -a $filename
    uname -mrs | tee -a $filename
    
    apachelinux系統
    本作品采用《CC 協議》,轉載必須注明作者和本文鏈接
    近日,研究人員向Kubernetes安全團隊報告了一個可導致容器逃逸的安全漏洞[1],獲得編號CVE-2021-25741,目前的CVSS3.x評分為8.8[2],屬于高危漏洞。該漏洞引起社區的廣泛討論[3]。有人指出,CVE-2021-25741漏洞是由2017年的CVE-2017-1002101漏洞的補丁不充分導致,事實也的確如此。
    PHP disable_functions disable_functions是php.ini中的一個設置選項。相當一個黑名單,可以用來設置PHP環境禁止使用某些函數,通常是網站管理員為了安全起見,用來禁用某些危險的命令執行函數等。
    disable_functions是php.ini中的一個設置選項。相當一個黑名單,可以用來設置PHP環境禁止使用某些函數,通常是網站管理員為了安全起見,用來禁用某些危險的命令執行函數等。
    相當一個黑名單,可以用來設置PHP環境禁止使用某些函數,通常是網站管理員為了安全起見,用來禁用某些危險的命令執行函數等。高ini_restore()可用于恢復 PHP 環境配置參數到其初始值
    當企業發生網絡安全事件時,急需第一時間進行處理,使企業的網絡信息系統在最短時間內恢復正常工作,同時還需進一步查找入侵來源,還原入侵事故過程,給出解決方案與防范措施,為企業挽回或減少經濟損失。 常見的網絡安全事件:
    F5 Networks在上周三發文稱,他們自2017年7月以來一直在追蹤利用Apache Struts 2遠程代碼執行(RCE)漏洞CNNVD-201703-152、CVE-2017-5638發起的惡意活動。在最初的活動中,攻擊者主要利用這個漏洞來感染運行在Linux操作系統上的Struts框架,以挖掘以太幣Electroneum (ETN)加密貨幣。
    雖然平時大部分工作都是和網絡相關, 但會接觸Linux系統, 尤其是使用了Mac之后, 每天都是工作在黑色背景的命令行環境中. 自己記憶力不好, 很多有用的Linux命令不能很好的記憶, 現在逐漸總結一下, 以便后續查看。基本操作Linux 關機,重啟#?查看當前用戶環境變量。查看有幾顆cpu,每顆分別是幾核。
    據說,Linux和常見云應用程序漏洞的使用以及Docker、Apache WebLogic和Redis等服務的安全性較差的配置,推動了這一增長。該腳本的較新版本還使用了阻止列表,以避免損害特定主機,例如可能標記其非法行為的蜜罐服務器。黑格爾總結道:“在過去幾年里,8220幫派慢慢發展出了他們簡單但有效的Linux感染腳本,以擴展僵尸網絡和非法加密貨幣礦工”。
    VSole
    網絡安全專家
      亚洲 欧美 自拍 唯美 另类