作者:hacker 日期:2022-10-09 分类:黑客教程
和index.php和静态首页index.php在更目录下。
栏目设置中的内容页模式 后台——栏目——管理栏目——修改栏目——生成选项 看是不是内容页 动态页面,就可以在看到动态的首页。
/ 系统根目录
├d/ 附件和数据存放目录 (data)
│├file/ 附件存放目录
│├js/ JS调用生成目录
│└txt/ 内容存文本存放目录
├e/ 系统程序目录 (empire)
├html/ 自定义内容页存放预设目录
├images/ 默认模板图片目录
├s/ 专题目录 (special)
├search/ 高级搜索页面目录
├skin/ 模板CSS和图片存放目录
├index.php/ 首页
└index.html 网站首页
: Total War v1.4 (v1.0.0.0) +11 TRAINER
这里,你要用的,1.4的11项属性修改,可以一回合建筑,一回合科技,金钱什么的都有
自从powershell在windows开始预装之后,就成为Windows内网渗透的好帮手,好处多多:天生免杀、无文件落地、 无日志(雾) 。
于是老外开发了 empire 框架,毕竟 cobalt strike 要收费的不是?
功能模块丰富,老外把内网[域]渗透中能用到的都整合进去了:内网探测,提权,凭据获取,横向移动,权限维持。模块那么多,不懂就 searchmodule 或者[tab]两下。
基于 debian 系的,如kali或者ubuntu都可以安装。
git clone
在执行安装脚本之前,建议修改软件源和 pip 源,避免因为网络问题安装失败。
sudo ./setup/install.sh
安装好后执行 ./empire 后就可以用了。
先查看可用的 Listener 有哪些?[tab]两下就出来了所有可用的。
通过 info 查看指定模块的配置信息
这里还是先使用http的监听,通过 set Port 8080 修改监听的端口, 2.x版必须同时设置 Host ,然后 execute 启动监听。
通过list命令查看正在运行的监听
可以通过usestager来生成文件,引诱对方运行,可以看到支持linux、Windows、osx。
这里我们选用launcher_bat,通过 info 查看可以配置的参数。
这里需要注意的是Listener的Name,必须跟前面启用的Listener的一致。
生成的文件内容是这样子的
其中那么一大段的powershell命令,跟 (Empire: listeners) launcher powershell test 的执行结果是一样的。这里先不关心怎么让其在别的机子上运行,那是另外的技术活。
用win7的cmd执行了那一串命令后,进程中可以看到有powershell.exe
执行 agents 命令查看回连的机子,然后 interact BNR1T9ZC 来与之进行交互。
通过 help 命令可以查看到在agent上可以执行很多命令。这里挑些重要的讲。
bypassuac ,顾名思义就是绕过uac的。除非你是本机的administrator,否则普通管理员都需要右键某个程序,然后选择 run as administrator 才能运行,这都是uac作的怪。
因为这里是用普通域用户权限执行的,连本机的普通管理员都不算,所以失败了。
sc,屏幕截图命令,可以通过这个了解机子上的人正在做什么。
我们看看usemodule还有哪些可用的模块?(有些模块需要对应权限才能成功运行)
输入 help agentcmds 可以看到可供使用的常用命令
执行 ipconfig 查看网卡信息(如果不在help列表中,那么会自动执行远程主机上的可用命令)
可以看到dns的ip是1.1.1.10,既是域控的ip
当你获得一个会话之后,又想要派生更多会话,怎么办?
使用 invoke_shellcode 来注入 meterpreter 的shellcode
metasploit先要设置一个 listener
然后empire执行
成功获取meterpreter会话(才怪, empire2.5 版本)
在session1建立到1.1.1.0/24网段的路由跳转
run autoroute -s 1.1.1.0/24
通过sesesion1打通网段后,可以看到域控服务器1.1.1.10开放的端口
使用ms17010成功获取meterpreter会话。
至此,域控拿下,可以开始漫游内网。(还是得靠metasploit,单一个empire做的事情很有限)
获取域管理员的明文凭据
用后渗透模块 credential_collector 收集可用的凭据
empire 可以直接使用 mimikatz 来获取凭据。 注意,此时客户端上powershell进程占用的cpu可达90%,会引起卡顿
creds 查看获取的凭据
利用pth来传递hash,用这个hash创建一个新的进程,可以看到新的进程id是3032
然后 credentials/tokens 查看不同用户的进程id
对指定进程steal_token之后,再去与agent交互就是域用户user的权限了。
用revtoself再切换回原来的权限(普通域用户权限太低做不了什么)
到这里尝试了好几个 situational_awareness/network/powerview 的模块返回的都是空结果,看来是需要域管理员才能执行成功。
碰巧域管理员也登陆这台机子,那么就能用他的权限做很多事情了。
也可以使用 usemodule management/psinject 进行切换,设置好ProcessId即可
现在我们又获得了一次域管理员权限,可以开始横向移动了。
先内网探测下可用的机子有哪些,使用了 situational_awareness 中的三个模块:
find_localadmin_access user_hunter get_domain_controller
又一次可以确定1.1.1.10就是域控所在了。用 lateral_movement/invoke_psexec 移动到域控服务器上面。
终于又回到了域控服务器,接下来要考虑的是如何导出域控上面的所有hash,并且维持权限。
在上一章总结了windows抓取hash的一些方式。在实际场景中,我们需要更快的扩大战果,获取更多控制权限,以及定位域环境。
横向渗透:就是在得到一台主机的控制权限后,将该主机作为突破口、跳板,利用既有的资源尝试获取更多的凭据、更高的权限,进而达到控制整个内网、拥有最高权限。
Pass The Hash 哈希传递简称PTH,可以在不需要明文密码的情况下,利用LM HASH和NTLM HASH直接远程登录。攻击者不需要花费时间来对hash进行爆破,在内网渗透里非常经典。
常常适用于域/工作组环境。
靶机:windows server 2008
IP:10.211.55.19
domain:workgroup
user:administrator
pass:cseroad@2008
NTLM-Hash:82c58d8cec50de01fd109613369c158e
psexec类工具大同小异,大部分工具都是通过psexec来执行的。原理是: 通过ipc$连接,将psexesvc.exe释放到目标机器,再通过服务管理SCManager远程创建psexecsvc服务,并启动服务。然后通过psexec服务运行命令,运行结束后删除该服务。
如:Metasploit psexec,Impacket psexec,pth-winexe,Empire Invoke-Psexec
缺点:容易被杀软检测到
优点:可以直接获取system权限
因为市面工具比较多,只kali就自带有很多。所以这里以好用、批量为准则选择了几款工具。
mimikatz中pth功能的原理:
windows会在lsass中缓存hash值,并使用它们来ntlm认证,我们在lsass中添加包含目标账号hash的合法数据结构,就可以使用类似dir这些命令进行认证。
正常访问server 2008 的盘符是需要用户名密码的。
在windows7上经过pth之后就不需要密码就可以远程连接。
将获取的hash添加进lsass中。
在windows 7 上执行以下命令:
执行后会弹出cmd。在cmd下执行 net use \\10.211.55.19\c$ 命令就可以远程连接。
扩展:
假如我们继续探测到10.211.55.8使用的是同一个hash值。我们尝试使用远程共享c盘和schtasks 定时计划任务执行获取一个session。
powershell.bat为
当重启10.211.55.8机器后,metasploit可得到session
笔者经常使用时的是这三个模块
以exploit/windows/smb/psexec模块为例
值得一说的是smbpass配置项支持明文密码也支持hash(LM-Hash:NTLM-Hash)
成功返回system权限。
CobalStrike 同样有psexec选项。
在得到一个beacon的基础上,先在该网段portscan,探测存活主机后。
选择View--Target--Login--psexec,可批量选择主机pth。
选择pth的用户名和hash值。
从执行的命令看得出依然利用的mimikatz。执行成功后返回system权限。
该工具可以对C段主机批量pth。
项目在 github
在kali上直接apt就可以安装
对工作组批量pth命令如下
测试的时候发现某些命令执行后没有回显。
更多资料参考:
CrackMapExec:域环境渗透中的瑞士军刀
红队测试工具-CrackMapExec-远程执行Windows命令
wmi内置在windows操作系统,用于管理本地或远程的 Windows 系统。wmiexec是对windows自带的wmic做了一些强化。攻击者使用wmiexec来进行攻击时,不会记录日志,不会写入到磁盘,具有极高的隐蔽性。
安装成功后,切换到examples目录下
运行命令为
先加载Invoke-WMIExec.ps1脚本,再加载Invoke-TheHash.ps1脚本,因为Invoke-TheHash 里要用到 Invoke-WMIExec方法
如果要执行系统命令。可以加-Command 参数
执行后该进程会在后台运行,可以结合定时任务执行尝试反弹shell。
在测试中发现,在打了kb2871997 这个补丁后,常规的Pass The Hash已经无法成功,但默认的Administrator(SID 500)账号例外,利用这个账号仍可以进行Pass The Hash远程ipc连接。
以上所有操作均针对的SID 500。
内网渗透之PTHPTTPTK
横向移动
丢掉PSEXEC来横向渗透
已有2位网友发表了看法:
访客 评论于 [2022-10-09 21:26:13] 回复
ystem权限 因为市面工具比较多,只kali就自带有很多。所以这里以好用、批量为准则选择了几款工具。 mimikatz中pth功能的原理: windows会在lsass中缓存hash值,并使用它们来ntlm认证,我们在lsass中添加包含目标账号hash的合法数据结构
访客 评论于 [2022-10-09 20:57:32] 回复
e-TheHash 里要用到 Invoke-WMIExec方法 如果要执行系统命令。可以加-Command 参数 执行后该进程会在后台运行,可以结合定时任务执行尝试反弹shell。 在测