系统入侵与提权

系统入侵与提权

一、信息搜集

1. 主机扫描

(1)扫描某个网段内存在的主机
(2)扫描主机开放的端口和服务
(3)扫描主机的操作系统和版本号
(4)扫描主机可能存在的已知漏洞

2. Web扫描

(1)查询域名和子域名信息
(2)查询whoid信息
(3)扫描Web应用的URL路径
(4)扫描Web应用后台管理入口
(5)规漏洞扫描

3. 功能分析

(1)分析前台页面的登录注册功能
(2)根据用户注册提示确定可用账号
(3)尝试进行注册并登录,确认各项功能
(4)确定前台页面的URL跳转、用户评论、文件引用、文件上传、文件下载等强交互功能点
(5)确定后台是否存在文件上传、查询功能、命令功能、系统配置等
(6)确定用户是否存在密码重置功能,确认是否存在逻辑漏洞

4. 抓包分析

(1)对前端页面的源代码进行分析,确认是否存在敏感信息或接口
(2)对关键功能进行抓包分析,预判后台基本实现逻辑
(3)对系统功能交互过程的编码和加密进行分析,如是否使用Base64编码、时间戳、Hash加密
(4)对通信过程的Session和Cookie进行分析,判断为什么此处要这么用

5. 使用的工具

(1)主机扫描: NMap、Nessus
(2)Web扫描: XRay+Rad、AVWS、AppScan、SQLMap、XSStrike、dirb、御剑等
(3)在线搜集: zoomeye.org、fofa.so、shodan.io、微步、域名注册商如万网等

二, 漏洞利用

1. 已知exp使用

根据信息搜集结果,直接网上寻找对应开发框架或CMS的成熟漏洞利用工具,如struts2的全家桶。

2. 暴力破解

适用于验证码可绕过,使用top1000等各类字典,也可以根据搜集到的密码规则匹配相应账号使用hashcat自行创建字典,
burpsuite的暴力破解模块也提供了多样化的字典生成功能,或使用专有工具如 Hydra, SNetCracker等,或根据业务需要自己编写Python脚本。

3. 逻辑漏洞

尤其是密码重置,很关键,根据经验来看,至少可从七个方面攻击密码找回功能:
重置凭证接收端可改、重置凭证泄漏、重置凭证未校验、重置凭证可暴破、用户混淆、应中存在影响后续逻辑的状态参数、token 可预测。
在逻辑漏洞的分析中,重点观察跟你用户名有关的请求,尝试在各种请求中将你的用户名或身份认证替换成他人的。

4. JS信息泄露

一般内部系统的网站JS可能会存有用户接口,我们可以通过接口发现用户信息。也可以分析js的代码,构造出后台路径和参数逻辑。

5. 后台WEB漏洞

除了在信息搜集中提到的上传功能(上传webshell) 、查询功能(Sql注入)、命令功能(命令注入)外,其他web安全漏洞都最好根据功能逐一尝试。

6. 代码审计

如果拿到源码,可以根据审计结果构造payload

7. 使用到的工具:

(1)渗透测试: Hydra,Medusa、MetaSploit Framework(MSF)、反序列化工具、各类专项工具
(2)代码审计: RIPS、Fortify SCA
(3)Shell管理: 菜刀、冰蝎、蚁剑、哥斯拉、PSTool等

三、建立据点

1. 反弹shell

漏洞利用成功时,通常会在目标机上获得一个webshel,但是webshel虽然执行金今和管理文件,但些章不是真正的shel,而目也不稳定,因此就需要反弹shell到一个稳定的环境中。

2. 反弹shell时候可能遇到的问题

反弹命令不存在、禁止出口流量、限定向外访问端口、流量审查

(1)反弹命令不存在: 命令有很多,常用命今有nc/n.openbsd/nc.traditional、bash/sh/dash、python/perl/PHP/ruby、exec,因此命令不存在的概率很小;在服务器上使用whereis nc bash php perl python ruby 就能知道命令是否存在

(2)禁止出口流量:某些标在防火墙上限制了出口流量,禁止目标主动向外发起网络请求,可以通过带外(0ut Of Band) 的方式讲行验证。大致逻辑是,在攻击者自己的 VPS 上监测某种协议的网络请求,在标上用这种协议访问 VPS,若在 VPS 上看到该协议的请求日志,则可推断出目标允许出口流量;

(3)限定向外访问端口:某些目标限定访问外部端口,常见黑名单和白名单两种方式,黑名单,比如,禁止目标机器向外访问 MSF 默认的 4444端口;白名单,比如,只允许向外访问 we 常见的 80 端口。黑名单的情况好绕过,随便指定一个端口号就行,白名单的话就只能探测可允许端口,常见就是80和443,需要想办法利用。

(4)流量审查:目标环境会对所有流量进行检查,检查的时候会发现流量中的恶意代码信息。这种情况可以结合上面的443端口,使用攻击者的VPS创建Ss 证书公钥/私钥对,VPS开启openss 听,然后使用openss 对反弹she的流量进行加,这样就能防止流量审查反弹成功。

3. 确认环境并制作木马

(1)确认具体的操作系统版本和已经安装的服务,可以运行的脚本环境,可以通过的端口等(具体根据权限而定)
(2)根据当前环境,按照需要制作复杂木马,甚至想办法保持连接的稳定,不被防火墙和管理员发现和封锁等

4. 使用的工具:

MetaSploit Framework、Cobalt Strike等

四、权限提升和内网渗透

1. 权限提升

Webshell中的90%都是www-data权限,需要想尽办法提升至root权限,可以用的办法有利用内核栈溢出提权、搜寻配置文件中的明文密码、环境变量劫持高权限程序、不安全的服务、借助权能(POSIX capabilities) 提权、Sudo 误配、SUID 滥用等等。
这些可以查阅网上相关资料和方法,下载对应的exp完成。

2. 权限维持

在获取了超级管理员权限后,还得想办法要将权限维持住

3. 内网穿透

在后渗透阶段,攻击进入一台目标主机是远远不够的,还需要通过内网横向移动来完成对核心目标的访问和渗透,此时通过内网穿透保持个可靠连接,随时可以通过穿透功能进入目标主机。这一过程同样需要注意如何规避防病毒软件或防火墙的发现。

4. 内网渗透

当能够保持超级管理员的权限并进行维持后,此时便可以开展内网渗透工作,整体过程与外网渗透比较类似,但是面临的实际情况并不完全一样,需要借助各类工具和经验进行处理。作为渗透测试的工作而非红方攻击来说,内网渗透并非最必要的一步,但是可以一试,进一步确定目标主机的漏洞及影响范围。

5. 使用的工具

(1)权限提升: MSF、漏扫、各类专项渗透工具等
(2)内网渗透: Cobalt Strike、Ladon、PSTools等
(3)内网穿透: Frp、冰蝎、Cobalt Strike、代理等

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/177986.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【实验记录】论文阅读(杂七杂八)

1.基于视觉语义路标的智能手机室内定位与建图研究_高煜昕 p19 介绍了智能终端的数据集ADVIO数据集,使用iPhone采集,针对视觉和惯导联合开发,具有描述真是复杂场景以及高质量真值的优点。 p20 论证了vins-mono、vins-fusion和orb-slam3等主流…

Go GORM简介

GORM(Go Object-Relational Mapping)是一个用于Go语言的ORM库,它提供了一种简单、优雅的方式来操作数据库。GORM支持多种数据库,包括MySQL、PostgreSQL、SQLite和SQL Server。以下是GORM的一些主要特性 全功能ORM:GORM…

提升企业网络安全的得力助手——EventLog Analyzer网络日志管理

在当今数字化时代,企业的网络安全问题变得尤为重要。为了更好地应对日益增多的威胁和安全漏洞,企业需要一种高效的网络日志管理工具,EventLog Analyzer便是其中一款卓越的解决方案。 EventLog Analyzer EventLog Analyzer是一款综合性的网络…

C#通过NPOI 读、写Excel数据;合并单元格、简单样式修改;通过读取已有的Excel模板另存为文件

文章目录 1 需要引用的DLL2 调用示例3 工具类 1 需要引用的DLL 2 调用示例 public static void WriteExcel() {string templateFile "F:\12312\excel.xlsx"; // 文件必须存在string outFile "F:\12312\" DateTime.Now.ToString("yyyyMMddHHmmssff…

逆向 tg 发送图片

开发工具 工具名称工具类型说明AndroidStuduo编辑工具开发工具jadxjava工具将apk解成java项目xposed插件工具插件tg版本9.7.5 分析源码的点: 发送图片的点 获取sendMessageParams 获取TLRPC$TL_photo 回调 实现 public void sendImg(String path, String…

NI自动化测试系统用电必备攻略,电源规划大揭秘

就像使用电脑之前需接通电源一样,自动化测试系统的电源选择也是首当其冲的问题,只不是这个问题更复杂。 比如,应考虑地理位置因素,因为不同国家或地区的公共电网所提供的线路功率有所不同。在电源布局和设备选型方面,有…

商城系统通过Kafka消息队列,实现订单的处理和状态更新

以下是一个简单的Spring Boot应用程序示例,演示如何使用Kafka实现订单的处理和状态更新。 首先,我们创建一个名为“order”的topic,在application.yaml配置文件中添加Kafka的配置: spring:kafka:bootstrap-servers: localhost:9…

每日一题(LeetCode)----哈希表--两个数组的交集

每日一题(LeetCode)----哈希表–两个数组的交集 1.题目([349. 两个数组的交集](https://leetcode.cn/problems/valid-anagram/)) 给定两个数组 nums1 和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出…

《深入理解计算机系统》学习笔记 - 第三课 - 位,字节和整型

Lecture 03 Bits,Bytes, and Integer count 位,字节,整型 文章目录 Lecture 03 Bits,Bytes, and Integer count 位,字节,整型运算:加,减,乘,除加法乘法取值范围乘法结果 使用无符号注…

Python Web包就业服务

还在等什么,加入我们,包就业

几何教学工具 Sketchpad几何画板 mac软件特色

Sketchpad几何画板 for Mac是一款适用于macOS系统的几何教学工具,用户可以在其画板上进行各种几何图形的绘制、演示,帮助教师了解学生的思路和对概念的掌握程度。此外,Sketchpad更深层次的功能则是可以用来进行几何交流、研究和讨论&#xff…

js手写面试题【附带注释】

文章目录 前言数组方法手写pushpopshiftunshiftcancatslicespliceforEachmapreducefind 手写订阅发布手写单例模式后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:javaScript 🐱‍👓博主在前端领域还有很多知识和…

代码安全-exe的代码签名和代码混淆加密

信息安全相关 - 建设篇 第四章 代码安全-exe的代码签名和代码混淆加密 信息安全相关 - 建设篇系列文章回顾代码安全-exe的代码签名和代码混淆加密前言实施步骤C#程序的程序集引用使用强命名(可选)Windows Server AD CA 制作自定义的证书模板,用于代码签名生成拥有自签名CA的代…

Java并发编程CAS

目录 CAS是什么 CAS存在问题 ABA问题 CPU开销大 不能保证代码块的原子性 CAS实例 CAS是什么 CAS(Compare and Swap,比较并交换)是一种并发编程中的原子操作,用于实现多线程环境下的无锁同步。它是一种乐观锁策略,通过比较内存中的值与期望值是否相等来决定是否更…

机柜浪涌保护器行业应用解决方案

机柜浪涌保护器是一种用于保护机柜内电子设备免受雷电或其他瞬时过电压影响的装置,它可以有效地限制或引导电涌电流,避免设备损坏或数据丢失。机柜浪涌保护器广泛应用于通信、电力、工业控制、医疗、安防等领域,是保障机柜系统安全稳定运行的…

龟兔赛跑python小游戏

# turtle控制游戏角色,Screen控制画布 from turtle import Turtle,Screen import time# 创建画布 screen Screen()# 改变画布大小 screen.setup(1200,600)# 设置背景图(必须是gif格式) screen.bgpic(背景图.gif)# 设置乌龟的角色 screen.reg…

centos服务器扩容

centos服务器扩容 我的情况是,原服务器是一个80g磁盘,管理员又追加了120G到这块磁盘上,需要把这120G重新追加使用。 请确认你遇到的情况是否和我初始截图一致,再往下看,免得浪费时间与精力 服务器中有120G尚未使用&…

JavaEE(SpringMVC)期末复习(选择+填空+解答)

文章目录 JavaEE期末复习一、单选题:二、多选题三、填空题四、解答 JavaEE期末复习 一、单选题: 1.Spring的核⼼技术是( A )? A依赖注入 B.JdbcTmplate C.声明式事务 D.资源访问 Spring的核心技术包括依赖注入&#x…

NOI / 1.8编程基础之多维数组 提问24:蛇形填充数组 c语言

描述 用数字1,2,3,4,...,n*n这n2个数蛇形填充规模为n*n的方阵。 蛇形填充方法为: 对于每一条左下-右上的斜线,从左上到右下依次编号1,2,...,2n-1;按编号从小到大的顺序,将数字从小到大填入各条斜线,其中编号为奇数的…

[Android] c++ 通过 JNI 调用 JAVA

Calling Java from C with JNI - CodeProject