我們在獲取到webshell之後,經常會遇到Linux的作業系統,這是我們需要對Linux系統本地的敏感資源進行資訊收集,下面就是一些有用的資訊獲取方式。
獲取核心,作業系統和裝置資訊
命令 | 作用 |
---|
uname -a | 列印所有可用的系統資訊 |
uname -r | 核心版本資訊 |
uname -n | 系統主機名字 |
hostname | 主機名 |
uname -m | Linux核心架構(x86/x64) |
cat /proc/version | 核心資訊 |
cat /etc/*-release | 釋出資訊 |
cat /etc/issue | 釋出資訊 |
cat /proc/cpuinfo | CPU資訊 |
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/exports | nfs伺服器的配置 |
作業和任務
命令 | 作用 |
---|
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 --version | mysql的版本資訊 |
psql -V | Postgres資料庫的版本資訊 |
perl -v | perl的版本資訊 |
java -version | java的版本資訊 |
python --version | python的版本資訊 |
ruby -v | ruby的版本資訊 |
find / -name %program_name% | 查詢有用的軟體 |
which %program_name% | 查詢有用的軟體 |
cat /etc/apache2/envvars | 檢視執行apache的帳號 |
總結
這些內容基本上包含了在linux上需要去了解的所有資訊,合理利用這些資訊可以不管是提權還是內網滲透中都是非常有用的,仁者見任,智者見智,希望可以為大家的資訊保安之路添磚加瓦。