Linux本地資訊收集

FLy_鵬程萬里發表於2018-06-01

我們在獲取到webshell之後,經常會遇到Linux的作業系統,這是我們需要對Linux系統本地的敏感資源進行資訊收集,下面就是一些有用的資訊獲取方式。

獲取核心,作業系統和裝置資訊

命令作用
uname -a列印所有可用的系統資訊
uname -r核心版本資訊
uname -n系統主機名字
hostname主機名
uname -mLinux核心架構(x86/x64)
cat /proc/version核心資訊
cat /etc/*-release釋出資訊
cat /etc/issue釋出資訊
cat /proc/cpuinfoCPU資訊
df -a檔案系統資訊

使用者和組

命令作用
cat /etc/passwd列出系統所有使用者
cat /etc/group列出系統所有組
cat /etc/shadow列出所有使用者hash(需要root許可權)
finger、finger user當前登入的使用者、查詢使用者的基本資訊
users當前登入的使用者
who -a當前登入的使用者
w顯示目前登入系統的使用者有那些人,以及他們正在執行的程式
last顯示登入過的使用者資訊
lastlog顯示系統中所有使用者最近一次登入資訊
lastlog –u %username%顯示指定使用者最後一次登入資訊

使用者和許可權資訊

命令作用
whoami當前使用者
id當前使用者資訊
cat /etc/sudoers可以使用sudo提升到root的使用者(需要root許可權)
sudo允許普通使用者執行一些或者全部的root命令的一個工具
sudo -l列出目前使用者可執行與無法執行的指令
su切換當前使用者身份到其他使用者身份

環境資訊

命令作用
env列印系統環境資訊
set列印系統環境資訊
echo $PATH環境變數中的路徑資訊
history列印歷史命令
pwd顯示當前路徑
cat /etc/profile顯示預設系統遍歷
cat /etc/shells顯示可用的shell

有用的命令

命令作用
find / -perm -4000 -type f查詢SUID的檔案
find / -uid 0 -perm -4000 -type f查詢root許可權的SUID檔案
find / -perm -2 -type f找出可寫的檔案
find / ! -path "/proc/" -perm -2 -type f -print查詢/proc以外的可寫檔案
find / -perm -2 -type d找出可寫目錄
find /home –name *.rhosts -print查詢rhosts的配置檔案
find /home -iname *.plan -exec ls -la {} ; -exec cat {}查詢檔案並列印
ls -ahlR /root/檢視是否有許可權列使用者目錄
cat ~/.bash_history檢視當前使用者的歷史記錄
ls -la ~/.*_history檢視當前使用者的各種歷史記錄
ls -la ~/.ssh/檢視使用者ssh登入資訊
ls -la /usr/sbin/in.*檢查inetd服務的配置
grep -l -i pass /var/log/*.log查詢包含pass的日誌並列印匹配到的行
ls -la /etc/*.conf列出/etc/下的所有配置檔案
lsof -i -n列出開啟的檔案
head /var/mail/root答應/var/mail/root的開頭

服務資訊

命令作用
ps aux檢視程式資訊
cat /etc/inetd.conf由inetd管理的服務列表
cat /etc/xinetd.conf由xinetd管理的服務列表
cat /etc/exportsnfs伺服器的配置

作業和任務

命令作用
crontab -l -u %username%顯示指定使用者的計劃作業(需要root許可權)
ls -la /etc/cron*計劃任務
top列出當前程式

網路、路由和通訊

命令作用
/sbin/ifconfig -a列出網路介面資訊
cat /etc/network/interfaces列出網路介面資訊
arp -a檢視系統arp表
route列印如有資訊
cat /etc/resolv.conf檢視dns配置資訊
netstat -an列印本地埠開放資訊
iptables -L列出iptable的配置規則
cat /etc/services檢視埠服務對映

軟體資訊

命令作用
dpkg -l軟體安裝(Debian)
rpm -qa軟體安裝(Red Hat)
sudo -V檢視sudo的版本資訊
httpd -v檢視apache的版本資訊
apache2 -v檢視apache的版本資訊
apache2ctl (or apachectl) -M列出載入的apache模組
mysql --versionmysql的版本資訊
psql -VPostgres資料庫的版本資訊
perl -vperl的版本資訊
java -versionjava的版本資訊
python --versionpython的版本資訊
ruby -vruby的版本資訊
find / -name %program_name%查詢有用的軟體
which %program_name%查詢有用的軟體
cat /etc/apache2/envvars檢視執行apache的帳號

總結

這些內容基本上包含了在linux上需要去了解的所有資訊,合理利用這些資訊可以不管是提權還是內網滲透中都是非常有用的,仁者見任,智者見智,希望可以為大家的資訊保安之路添磚加瓦。


相關文章