论渗透信息收集的重要性
前言
本文仅用于交流学习, 由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,文章作者不为此承担任何责任。
主机信息收集
Windows 主机信息收集
powershell 命令历史记录
可以使用 powershell 进行查看
某些情况下,该命令可能无法使用,我们可先用 dir 查看 powershell 历史命令记录文件的存放位置,然后使用 type 进行读取
【一>所有资源获取<一】1、200 份很多已经买不到的绝版电子书 2、30G 安全大厂内部的视频资料 3、100 份 src 文档 4、常见安全面试题 5、ctf 大赛经典题目解析 6、全套工具包 7、应急响应笔记 8、网络安全学习路线
PS:打点时遇到 Windows 环境的文件下载漏洞,可下载以下文件进行敏感信息翻阅,某些运维会使用 powershell 进行管理工作组或域内机器,运气好的可以找到 ssh、数据库这类登录密码或其它重要文件,尤其是一些运维用的脚本,里面大多包含主机、数据库登录密码,可通过 powershell 历史记录找到这些脚本的绝对路径,然后在使用文件下载漏洞进行读取,这也是一个不错的突破点,而且这些历史命令大多包含链接主机信息,可提取里面的 IP 段,扩宽我们的攻击面。
应急溯源的同学也可以看看这个文件,说不定会发现些蛛丝马迹
渗透结束时,如果使用过 powershell 的,务必清除 powershell 命令历史记录,在一定程度上可以减少被溯源成功的概率,当然,也可以迷惑蓝队,写入一些奇怪的命令,例如把上线的 C2 地址更改为境外的已公开 IOC 情报的挖矿 IP,然后丢进来几个挖坑样本,误导蓝队进行溯源消耗防守方的精力,伪造痕迹的时候记得更改文件时间,还得注意下语言文字这些细节,不然蓝队看到中文名字、错误语法和时间的挖矿,结合攻防演练时间,第一时间肯定会知道这是伪造出来的,如果内网存在 IDS 这样的流量审计设备,蓝队一定位机器查看设备流量,说不定还可能暴露我们的踪迹。
清除 powershell 历史运行命令记录
查看历史打开文件
这目录里面放着电脑的历史打开文件记录,看过什么文件、什么时候,包括点过那几个盘,都很详细的记录,我们可通过该目录定位运维常用的文件夹、文件等,寻找敏感信息,查看这个目录往往有奇效,很多时候运维为了方便管理机器喜欢用密码小本本来记录各个机器的密码,毕竟一个运维管理几十台机器是非常常见,这么多密码不一定记得住,所以大多数运维会选择把机器密码记录在 txt、xls 这种文件里,这也就给了我们可乘之机,其实我在这个目录遇到最多的还是运维写的日报、周报,很多时候这些报告里面包含了大量服务器信息,这时候我们就可以通过这些敏感信息进一步内网横向。
大多数时候我们的起点都是 webshell 权限,如果没有判断管理员是否在线,是否有 IDS 这种流量检测设备,那么在第一时间最好不要冒然远程过去,不然就是得不偿失了;recent 无法使用,这时候我们可以使用 dir 读取历史打开文件,然后再利用 dir 搜索关键字得到文件的绝对路径,这样我们就可以直接在 webshell 中进行查看或下载回来本地打开了。
其它的常用关键字搜索,
某些时候显示内容过多,可对这些关键字进行逐个搜索,或使用 findstr 进行过滤,如:
另外可到回收站翻翻,很多时候会有惊喜。
前面说到了 recent 目录记录到了查看历史打开文件,在后渗透时,我们通常会往目标机子上传各种文件,例如 nps、mimikatz、psexec 等,这些工具在使用过程中,大多会在 recent 目录产生记录,这时候为了更好的隐藏痕迹,我们可以 rd 命令删除运行记录或直接使用 CS 或 webshell 管理工具提供的文件管理功能删除该记录,另外 psexec 成功登录退出后,会在目标机器的安全日志中产生 Event 4624、4628、4634,在系统日志中产生 Event 7045(记录 PSEXESVC 安装)、Event 7036(记录 PSEXESVC 服务状态),Windows 日志也需要处理下;关于清理痕迹不是本文的主题,就不多赘述了,对于应急的同学可以多关注下 recent 文件夹和 Windows 日志,在不手动清理或者使用某些安全工具清理垃圾的时候,recent 这个目录为空或者很少东西,那么应该要注意下了。
windows 日志路径:
powershell 清除 Windows 事件日志
PS:上传后的文件如果不能删除(没权限或其它因素),那么可以上传或新建同名文件,覆盖掉原有文件。
敏感文件寻找
服务器、中间件、数据库这类配置文件。
运维密码、工作记录、个人记录这些。
公司文件、合同、网络拓扑图这类。
……
服务器、中间件、数据库这类配置文件的重要性大家都懂,渗透的时候如果获取到一个包含大量敏感信息的配置文件,那将会为我们在后渗透作出良好的铺垫,如下。
某次项目时,拿到一个存在内网的 shell,通过对主机信息收集,发现某配置文件 Config-back.xml 包含了大量的数据库账号密码,之后使用 CS 下载该配置文件到本地,然后搭建代理利用这些账号密码批量上线 MSSQL 主机,再结合这些密码制作出高质量字典爆破 C 段机器,用了不到 30 分钟拿到了 200 多台机器权限,所以说渗透的本质是信息搜集,信息搜集的量决定着我们渗透的成果,关于配置文件的查找这里就不多说了,可参考上面的 dir 命令进行查找。
另外就是要多关注下 web 系统本身存放的文件,之前遇到过一个 IBM 系统,里面有个云盘功能,之后翻这个功能模块找到了个运维建立的文件夹,里面存放了大量的数据,什么网络拓扑图、运维日志、甚至还有账号密码,还有的就是做等保渗透的时候,远程到运维机,桌面一大堆设备清单,还有各个系统的账号密码,而且这些 xlsx 表格都是不加密的,直接打开就能查看,一些运维为了贪图方便,往往会非常严重的安全隐患,给了入侵者很大的机会。
这里再补充一下 WiFi 密码获取这个点,在内网渗透,密码获取到的越多,路就越好走,很多时候内网的密码都是通用的,就算是不通用,大部分的密码也是有规律可循的,关于密码的获取可使用 LaZagneCMD 获取 WiFi 密码
如果已经取得当前机器的管理员权限的话,可运行 mimikatz、procdump 之类凭据获取工具获取系统凭据,因为多数管理员可能使用同一密码或有规律性的密码来管理多台服务器,如果能够得到主机密码或者 hash 就可以尝试 pth 或 psexec 批量上线了;还有就是在进程收集的时候要多留意一下是否有域管启用的进程,如果刚好域管理员登录过我们已经有权限的机器,那么就可以利用域管进程进行横向了,如果没有的话可关注下 ms14068,域委派这类东西,这些都是后渗透基本常识了,这里不多赘述。
域信息收集常用命令
常用命令
网络信息查找
寻找内网网段时建议被动寻找,主动寻找动静太大,如 nmap、nbtscan 这种一扫,可能整个网段内存活的机器就出来了,但随之而来的是 IDS 的流量审计,一旦引起流量异常被蓝队察觉,可能就会导致我们权限的丢失,永远不要小瞧蓝队,而且还是拥有各种安全设备的蓝队,内网渗透一定要谨慎,大规模资产扫描,自动化漏洞扫描我一般会留到最后才上的。
定位域控
查看域时间,一般域控会做时间服务器
通过 dns 定位域控
利用 netdom 获取域控列表,得到域控名称可通过 ping 获取域控 IP
其它信息查找
其它补充
web 日志
有些老系统会使用 get+明文的方式传输后台登录账号密码,我们可翻查下 web 日志,说不定有收获,还有就是要注意系统本身的日志,这些日志大多包含内网 IP 段,甚至还有账号密码这些东西。
另外可找找 FTP,很多时候内网 FTP 都是可以未授权访问的,就算有密码,大多都是弱口令或规律性、通用性的密码,是否能成功登陆就要看我们信息收集的深度了,FTP 大多包含部门或公司敏感文件,可多关注一下。
使用 net1.exe 绕过杀软添加用户
windows 环境渗透添加用户往往会被 AV 拦截,而且还会产生告警日志,这时候可使用 net1.exe 绕过杀软添加用户,当然,也可使用 cs 自带的 argue 参数污染进行用户添加。
net1.exe
argue 参数污染
正常使用 net 添加用户会被火绒拦截
删除用户火绒也无感知
添加用户并加到管理员组
linux 主机信息收集
网络信息收集
敏感文件收集
其它补充
history
history 在 linux 渗透时是非常实用的,各种连接密码,ssh、mysql、ftp 等等,在拿到权限是应该着重看看这个文件
数据库
取得数据库权限后,除了收集账号密码外,也可翻查一下日志、登录记录这些看看有没有内网的其它 IP 资产,遇到过多个站点共用一个 mysql 数据库的情况,然后里面记录了多个系统的后台账号密码,我们可以利用这些账号密码登录其它系统进行漏洞挖掘,遇到后台文件上传、rce 这些说不定还能上线一台主机,多一个内网据点。
日志
linux 的那些日志就不多说了,需要注意的是 GET 传参登录的系统,可多看看日志,收集到账号密码对后续渗透会有所帮助,当然,大部分时候我们需要 webshell 权限才能查看日志,这时候我们可以扫描下目录找找日志,或结合 Spring boot httptrace 进行利用。
再谈谈数据库内的日志记录,有些数据库兼具日志记录功能,会记录到用户登录的 IP,在拿下数据库权限后,可找找有没有这些东西,说不定就能获取到另一个内网 IP 段了,增大我们横向的攻击面。
其它的就是 ssh 私钥和运维脚本这些了,说到底信息收集还是需要结合目标场景而定。
小结
以上只是一些个人见解,说的也比较片面、不全,我认为渗透需要随机应变,日复一日用这同样的方式解决同样的问题,思维就会变得僵化了,这样会导致我们在渗透时变得不再仔细审视和认真思考,用僵化的思维去做渗透往往会使我们错失良机,在攻防过程中除了需要保持良好的心态与清晰的思路外,更要不断的进行思考以避免失误。
评论