**
**
作者:大余
时间:2020-12-10
简介:
渗透测试-地基篇:
该篇章目的是重新牢固地基,加强每日训练操作的笔记,在记录地基笔记中会有很多跳跃性思维的操作和方式方法,望大家能共同加油学到东西。
请注意:
对于所有笔记中复现的这些终端或者服务器,都是自行搭建的环境进行渗透的。我将使用Kali Linux作为此次学习的攻击者机器。这里使用的技术仅用于学习教育目的,如果列出的技术用于其他任何目标,我概不负责。
名言:
你对这行的兴趣,决定你在这行的成就!
梼杌(táo wù),别名傲狠,中国神话中上古时期的四凶之一。所谓“四凶”,最早指的是上古年间四位残暴的部落首领,后来被杜撰为他们部落图腾的四种怪物。
cobalt strike4自带的功能我会在这几天都过一遍,首先拿梼杌来进行打地基是因为其功能非常多,也非常的实用,效果比较不错的。
梼杌是适用于cobalt strike3.x与cobalt strike4.x的插件,该插件具有十大模块,每个模块包含了各种骚操作功能,本次尽可能的全部介绍完所有的功能演示,本次还是学习思路第一,方法第二的原则进行,会了思路可以融会贯通,以不变应万变,开始!
注意,本次环境是在win10环境,安装火绒、360、Defenber三大杀软情况下进行演示!
分享者才是学习中的最大受益者!!
首先在《Cobalt Strike 4.0-渗透攻击-First day》里已经介绍了如何拿到主机的权限进入beacon窗口界面。
https://editor.csdn.net/md/?articleId=109391166
BeaconCommands
===============
Command Description
------- -----------
browserpivot 注入受害者浏览器进程
bypassuac 绕过UAC
cancel 取消正在进行的下载
cd 切换目录
checkin 强制让被控端回连一次
clear 清除beacon内部的任务队列
connect Connect to a Beacon peerover TCP
covert 部署Covert VPN客户端
cp 复制文件
dcsync 从DC中提取密码哈希
desktop 远程VNC
dllinject 反射DLL注入进程
dllload 使用LoadLibrary将DLL加载到进程中
download 下载文件
downloads 列出正在进行的文件下载
drives 列出目标盘符
elevate 尝试提权
execute 在目标上执行程序(无输出)
execute-assembly 在目标上内存中执行本地.NET程序
exit 退出beacon
getprivs Enable system privileges oncurrent token
getsystem 尝试获取SYSTEM权限
getuid 获取用户ID
hashdump 转储密码哈希值
help 帮助
inject 在特定进程中生成会话
jobkill 杀死一个后台任务
jobs 列出后台任务
kerberos_ccache_use 从ccache文件中导入票据应用于此会话
kerberos_ticket_purge 清除当前会话的票据
kerberos_ticket_use 从ticket文件中导入票据应用于此会话
keylogger 键盘记录
kill 结束进程
link Connect to a Beacon peerover a named pipe
logonpasswords 使用mimikatz转储凭据和哈希值
ls 列出文件
make_token 创建令牌以传递凭据
mimikatz 运行mimikatz
mkdir 创建一个目录
mode dns 使用DNS A作为通信通道(仅限DNS beacon)
mode dns-txt 使用DNS TXT作为通信通道(仅限D beacon)
mode dns6 使用DNS AAAA作为通信通道(仅限DNS beacon)
mode http 使用HTTP作为通信通道
mv 移动文件
net net命令
note 备注
portscan 进行端口扫描
powerpick 通过Unmanaged PowerShell执行命令
powershell 通过powershell.exe执行命令
powershell-import 导入powershell脚本
ppid Set parent PID forspawned post-ex jobs
ps 显示进程列表
psexec Use a service to spawn asession on a host
psexec_psh Use PowerShell to spawn asession on a host
psinject 在特定进程中执行PowerShell命令
pth 使用Mimikatz进行传递哈希
pwd 当前目录位置
reg Query the registry
rev2self 恢复原始令牌
rm 删除文件或文件夹
rportfwd 端口转发
run 在目标上执行程序(返回输出)
runas 以另一个用户权限执行程序
runasadmin 在高权限下执行程序
runu Execute a program underanother PID
screenshot 屏幕截图
setenv 设置环境变量
shell cmd执行命令
shinject 将shellcode注入进程
shspawn 生成进程并将shellcode注入其中
sleep 设置睡眠延迟时间
socks 启动SOCKS4代理
socks stop 停止SOCKS4
spawn Spawn a session
spawnas Spawn a session as anotheruser
spawnto Set executable tospawn processes into
spawnu Spawn a session underanother PID
ssh 使用ssh连接远程主机
ssh-key 使用密钥连接远程主机
steal_token 从进程中窃取令牌
timestomp 将一个文件时间戳应用到另一个文件
unlink Disconnect from parentBeacon
upload 上传文件
wdigest 使用mimikatz转储明文凭据
winrm 使用WinRM在主机上生成会话
wmi 使用WMI在主机上生成会话
argue 进程参数欺骗
为了接下来的演示快捷方便,将进行设置beacon延迟时间,设置为0秒。
beacon可根据具体环境调节延迟时间,意思就是beacon执行命令交互期间返回数据包的时间;
本篇主要详细讲解梼杌的使用,CS别的功能会在另外几篇全会介绍;
测试环境:
攻击者:kali.2020.4
被攻击者:win10(安装三大杀软)
下载插件地址:
https://github.com/pandasec888/taowu-cobalt-strike
进入Cobalt strike-脚本管理器:
选择taowu-cobalt-strike-master-TaoWu.cna,点击Load:
添加完成后,在beacon界面右键即可看到梼杌模块!!
梼杌-信息收集-常用信息中包含了二十个功能,可根据自行需求进行打勾,并点击最下方运行即可执行!
这里所有的功能亲测有效,例如未安装QQ环境前提下,是查不到信息的!
尽量不要权限读取信息量非常的大,选取需求勾选即可!
该信息量能快速的把基础信息扒光,对于后期横向和隐写起到巨大帮助!
梼杌-信息收集-内网信息包含二十个功能,该功能主要收集的是域内信息,所有域内信息都能给你扒光了!
这里简单的查询了前面的功能演示给大家看,路由表信息非常齐全,可以进行横向的时候做代理等使用 !
域渗透领域后面我会拿一章来给大家演示各种骚操作!
OnlinePC-多协议探测存活主机
OnlineIP-扫描存活主机
OsScan-多协议识别操作系统
[*] ## OsScan-多协议识别操作系统 ##
[*] ## Ping-ICMP扫描存活主机 ##
[*] ## WebScan-扫描Web信息/Http服务 ##
[*] ## UrlScan-扫描C段站点URL域名 ##
[*] ## SameWeb-扫描C段站点URL域名 ##
[*] ## DomainIP-域名解析IP ##
[*] ## HostIP-主机名解析IP ##
[*] ## WhatCMS-扫描C段WEB以及CMS ##
[*] ## LdapScan-扫描LDAP服务器 ##
[*] ## FtpScan-扫描FTP服务器 ##
三种方式进行探测扫描,并支持八种类型进行测试!
扫描web应用包含了两个功能:SharpWebScan和SharpGetTitle
1、SharpWebScan
扫描web应用,返回web地址和title
扫描web应用,返回web地址和title,会在本地输出文件,这里改下IP即可 !
该win10环境未安装web等应用,所以就无数据了,在apache环境亲测可用!
该功能包含了四个功能,演示下:
1、查看所有用户的记录:
这里用户权限是普通用户,需要提权到system就不会报错了,会在第五大模块中讲解权限提示后在执行就不会报没有所需特权这种错误了!
这里是利用了Ladon工具里的一个信息收集RDP的程序执行的:
windwos10环境无RDP就会报错…
4、获取RDP和putty信息
可看到我拿win7环境进行对比了,win7环境是有RDP的所以列举出来了!
该功能是利用:Ladon.exe GetInfo获取所有主机信息,也是我最喜欢的功能之一,和LinEunm枚举linux意思一样!信息量非常的齐全,枚举很实用!
可看到可以枚举很多类型的信息,选择all测试:
Seatbelt.exe -group=all -full -outputfile="C:\windows\Temp\123.txt"
利用upload命令下载,和MSF命令一样下载到本地!
列举了非常详细的信息,包含每个在运行程序的各种信息,做了哪些交互,就不介绍了自行测试!
主机名+存在用户信息+IP
查询net和powershell详细信息!
获取Windows登录事件日志:读取登录过本机的登录失败或登录成功(4624,4625)的所有计算机信息,在内网渗透中快速定位运维管理人员。
目前执行遇到:未经处理的异常: System.Security.SecurityException: 不允许所请求的注册表访问权。
两台都限制了请求访问无法执行!
收集目标主机信息,包括最近打开的文件,系统环境变量和回收站文件等等!
内网渗透中快速获取数据库所有库名,表名,列名。具体判断后再去翻数据,节省时间。适用于mysql,mssql !
后面会有功能可以直接获取系统上数据库的用户名密码,后面遇到该功能我会和这里做联动!!
可看到不同时间段剪切过的内容都能记录下来!
Windows杀软对比和补丁号对比!!
端点检测与响应是一种主动的安全方法,可以实时监控端点,并搜索渗透到公司防御系统中的威胁,这也是危害很大的!
输出驱动器的完整目录/文件列表,最后将其压缩为.gz !
文件搜索,三种搜索方式,指定文件名、制定文件名搜索后缀、搜索指定后缀文件。
执行会获得找寻的文件信息!
漏洞探测存在三个脚本模块,这里漏扫功能较少也试试吧~
这个可以在CS4原版功能里有添加exp的功能,后期会讲解!
首先得熟悉下该漏洞:
F5 BIG-IP 是美国 F5 公司一款集成流量管理、DNS、出入站规则、web应用防火墙、web网关、负载均衡等功能的应用交付平台。
可看到url需要填写流量管理的登录地址,才可以进行漏洞探测!我搭设的环境是无的,需要复现的可以参考:
https://xz.aliyun.com/t/8008
CISCO ASA设备任意文件读取漏洞,此漏洞不能用于获取对ASA或FTD系统文件或底层操作系统(OS)文件的访问,所以只能读取web系统目录的文件,比如web的配置文件、书签、网络cookies、部分网络内容和超文本传输协议网址等信息!
环境也无该思科设备漏洞!!
需要了解的思科官网有:https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-asaftd-ro-path-KJuQhB86
可看到weblogic放入七种常见的高危漏洞!
刚搭建的环境也是无的~
可以把需要检测的脚本放入script中,然后利用修改器修改下modules里的读取内容接口函数即可~!
该模块存在19种获取凭证的功能,里面包含了CS4初始提供的几种功能还是比较齐全的!!
远程桌面是管理Windows服务器最常用的一种工具,管理员和黑客都喜欢使用RDP。通常情况下,用来登录RDP会话的凭据权限都比较高,因此自然会成为渗透过程中的绝佳目标。现在许多人主要通过LSASS来窃取凭据,但lsass.exe通常受EDR及反病毒软件的重点保护,因此我们需要研究可以替代的、比较新颖的方法!
https://www.anquanke.com/post/id/192947
https://nosec.org/home/detail/3176.html
https://blog.csdn.net/systemino/article/details/103083541
这里可通过三篇文章了解如何从远程桌面客户端提取明文凭证的!
未启动Wlansvc网卡!在对方主机有无线网卡模式下直接获取~
输入前面获取wifi名称,即可获取对应的密码!效率很高
无网卡信息会报错!
无法访问,下一个模块会提权至system后即可执行!
LaZagne 是用于获取存储在本地计算机上的大量密码的开源应用程序。 每个软件都使用不同的技术(纯文本、API、自定义算法、数据库等)存储其密码。LaZagne 的作用就是找到最常用的一些软件的密码。 LaZagne 几乎支持市面上大部分常用工具。包括浏览器、Git、SVN、Wifi、Databases 等。但是对聊天软件的支持不够本土化,主要支持一些国外的聊天软件。
这是成功后的图,获取了facebook、google等网站上的用户名密码信息!非常牛的程序,主要能免杀!免杀!!
Navicat->localhost:3306:root:5658213B(root)
思路:
获取方式:运行navicatpwd.exe
win+r输入regedit进入注册表,注册表中进入HKEY_CURRENT_USER\Software\PremiumSoft,找到相应的连接,然后查看其pwd值,复制过来就可以解密了。
这里自动解密获得数据库用户名密码!!!root/root
这里试了两个环境都可以获得密码,这里就可以和信息收集-获取数据库数据功能进行联动!!
支持浏览器:Google Chrome、Opera、Chromium、Brave-Browser、Epic Privacy Browser、Amigo、Vivaldi、Orbitum、Atom、Kometa、Comodo Dragon、Torch、Slimjet、360Browser、Maxthon3、K-Melon、Sputnik、Nichrome、CocCoc Browser、Uran、Chromodo、Yandex (old)
可以获取密码、信用卡(银行卡)、历史记录、书签(收藏夹)、cookie值非常好的功能!
信用卡和银行卡只能获取卡号和sid值等信息,密码无法获取测试了!
还有该功能是执行Stealer.exe程序,该程序在图中也可以看出,亲测哈,需要.Net For…4.0.3版本或以上版本才可以支持运行!Win7一般没有该环境,win10自带!
360最新版本会爆毒该程序但不会杀掉,火绒不会报杀毒!
是一个抓取浏览器密码的工具:
实现system抓机器上其他用户的浏览器密码(方便横向移动时快速凭据采集)
用.net2 实现可兼容大部分windows,并去掉依赖(不需要System.Data.SQLite.dll这些累赘)
可以解密chrome全版本密码(chrome80版本后加密方式变了)
Chrome已经可以获取login data、cookie、history、book了
IE 支持获取书签、密码、history
目前该浏览器未保存任何密码信息~
All cookies written to C:\Users\dayu\AppData\Local\Temp\google-chrome-cookies.json
可看到提取的cookie都存在了json文本里~
在浏览器上做过的所有访问页面操作都会记录
提取保存的密码功能这里和前面几个都重复了,但是效果一样!
SharpWeb是一个.NET 2.0 CLR兼容项目,可以从Google Chrome,Firefox,Internet Explorer和Microsoft Edge检索保存的登录名。将来,将扩展此项目以从这些浏览器检索Cookie和历史记录项。
该功能只提取对方存储保存过的登录密码信息,环境里都无!
对密码已保存在 Windwos 系统上的部分程序进行解析,包括:Navicat,TeamViewer,FileZilla,WinSCP,Xmangager系列产品(Xshell,Xftp)。
可以获得以上产品的用户名密码信息 !
该功能和SharpDecryPwd-1比较多了几种可获取的工具!
这里实用性很高,可以横向获得很多远程登录信息!
SharpLocker会弹出一个假的Windows锁定屏幕,帮助获得当前的用户凭据,所有输出都将发送到控制台。
可看到我使用的是空密码,但是会记录键盘上敲过的每个字符都会打印在beacon界面中!
钓鱼的界面有点难看~~不真实!这里可以通过很多方法获得windwos登录密码,所以就玩玩吧!
可看到简单的钓鱼获得了输入的信息!
这是和域信息收集有冲突的,这必须在域中创建组后才可获取信息!
可见存在很多功能,mimikatz也是业界提取hash密码的工具之一,但是杀软都会杀掉!
在CS里执行是杀软是不管的,所以可以很轻松获得信息!
这工具方法很多,CS4也自带,我就枚举一个功能了!获得了用户名密码!
这是使用PssCaptureSnapShot上的MiniDumpWriteDump转储LSASS内存,以逃避WinDefender ATP凭据盗窃!
ATPMiniDump可选择上传路径!
目前是新环境,但是获取是没问题的,还免杀!
参考思路:
https://www.matteomalvica.com/blog/2019/12/02/win-defender-atp-cred-bypass/
检查与Amazon Web Services,Microsoft Azure和Google Compute相关的凭证文件是否存在!
思路:利用Windows Telemetry实现权限维持
https://github.com/360-Linton-Lab/Telemetry
可以将在执行的shell执行到内存中!
远程执行下载命令后,自动在注册表的Levint进行写入自启动隐匿
这里两个功能第一个我测试了,是隐匿的杀软没管!第二个方法没测试,可以在本地开启80服务放shell进去试试!
这里执行会出现整个CS崩溃状态!不知道server服务环境怎么样,待进一步测试!目前测试较坑该功能!
使用映像劫持安装后门(IFEO)
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\
修改IFEO中的“Utilman”键值,用来替换原有程序的执行,键入五下Shift执行sethc.exe程序时会执行cmd.exe程序。
设置中心里,启动快捷键:Windows+U键就会启动Utilman…然后会打开cmd.exe
意思就是:
当我们启动目标程序时,启动的是劫持后的程序而不是原来的程序!!
[*] Tasked beacon to run: reg add "HKLM\Software\Microsoft\Windows\CurrentVersion\Run" /v Svchost /t REG_SZ /d "C:\Windows\system32\cmd.exe " /f
主要是通过download上传免杀shell或者dll免杀代码,通过该方法将svchost添加入注册表自启!!
请键入 NET HELPMSG 2186 以获得更多的帮助
重启下即可,已经注册为服务了
填写横向需要渗透的信息,进行执行shell一句话即可!还是不错的功能!
可看到权限提升包含11个EXP脚本!最经典的这几个都有!
获取可用于提权的漏洞。支持Windows 10 1507、1511、1607、1703、1709、1803、1809、windows server 2016和2019
都没!!
和Watson一样都是检测工具:
一种检测Windows操作系统中由于配置错误和缺少更新而导致的特权提升漏洞的工具。dazzleUP检测到以下漏洞
正确扫描结果,该功能可以在直接放到CS4上,github有cna最新插件,这里的可能得更新了!!
利用内核SMB的MS16-075漏洞进行渗透号称新的甜土豆!!主要是免杀,用法不止这一点,是一个工具可以上传进行使用,这里无法进行,需要主动处理!!
这里未成功,知道了正确的CLSID,烂土豆要执行是有特定的条件的:
常见的为LocalService用户,例如IIS和者sqlserver的用户
开启DCOM,并能找到可用的COM对象
开启RPC
这个内核提权最好用的了,不管是装了杀软的win10还是win7,都直接获得了system权限的外壳!
该漏洞也是内核提权非常不错的,但是亲测后发现在杀软的win10上提不了权限,win7上可正常提system权限!
016该漏洞是和14-058一样级别的提权漏洞,但是仅支持X86的32位环境,我是64位的无法提权!
这个漏洞是由于Windows中的WebDAV未正确处理WebDAV客户端发送的信息导致的
Windows10环境不支持的,执行会蓝屏!Win7也未成功!
基于powershell.exe拿到system权限!
信息泄漏漏洞存在于 Windows 内核中,可允许攻击者检索可能导致内核地址空间布局随机化 (KASLR)绕过的信息。成功利用此漏洞的攻击者可以检索内核对象的内存地址!
Win10环境无法提权,基于内核地址空间执行过多次提权后,每次提权会生成新的Rundll32.exe,当执行过多内存会过大,会把CS4原本的shell会全部中断掉!
Win7环境是成功提权system的!
对于0796-SMBv3大家应该很熟悉了…在刚出来几天我也做了相对应的演示和筛查公司,过了几个月后出EXP!
《微软紧急发布SMBv3协议漏洞-CVE-2020-0796验证与修复》可以看我博客里介绍了!
可看到exp仅支持win10 1903-1909版本!目前环境是2212版本无法利用!
绕过UAC写入提权可参考:
https://scriptboy.cn/p/bypassuac/
https://www.cnblogs.com/websecyw/p/12978807.html
两篇文章详细讲解!
暴力破解模块包含了crack和SharpSpray功能
支持爆破ftp,ssh,smb,mssql,mysql, postgresql,爆破完毕会在当前目录生成result.txt。
使用LDAP对域的所有用户执行密码喷雾攻击,seeds指定几个密码生成字典,逗号分隔,passwords指定密码爆破,可多个密码,逗号分隔,delay:密码喷雾的延迟,毫秒为单位,sleep:密码猜测之间sleep周期分钟数 !
包含了四个功能模块:
在dnslog中回显内网ip地址和计算机名,可实现内网中的快速定位可出网机器。可配合如wmiexec,psexec等横向工具进行批量检测。
该功能和信息收集模块功能重复了!!
运行frpc,使用了frpModify,指定参数即可,proxy端口为23333,frp指定参数版(无需frpc.ini落地)
https://github.com/uknowsec/frpModify
该工具还是挺实用的!
一款轻量级、高性能、功能强大的内网穿透代理服务器。支持tcp、udp、socks5、http等几乎所有流量转发。
使用参考:
https://mp.weixin.qq.com/s/zI04_kxVFWdnegctAzNmmg
iox端口转发与socks5隧道,golang实现,端口转发和内网代理工具,功能类似于lcx/ew,但是比它们更好。
参考:
https://github.com/EddieIvan01/iox
这里只有四种代理,内网代理我也将了7种方法在博客,后面我会在讲几种出来,这些都会详细写出来,知道了原理就很好操作了!
了解下,该功能没成功
https://xz.aliyun.com/t/1943
OXID 解析器,用于探测多网口机器(依赖于 135 端口),-i扫描指定ip,-c扫描C段!
该功能要在域环境下使用!
和Mimikatz功能枚举重复!!
这是一个基于135端口来进行横向移动的工具,具有执行命令和上传文件功能,通过wmi来执行命令,通过调用来进行数据传输,目前只支持上传512kb以下的文件,因为重置每个值的长度不能超过512kb!!
功能仅135端口免杀横向移动…
具体使用原理和方法:
https://www.anquanke.com/post/id/209665
枚举域内用户密码(Pass2User指定单个密码-枚举,User2Pass指定单个用户-爆破),和信息收集中域信息收集重复功能!
功能限制环境条件!
需要和信息收集-域信息收集联动!!
列出当前域中所有计算机的网络共享信息,也可以将所有计算机名称转换为IP地址。
目前环境无域,后期会演示到!
该功能不特别好!
需要在system权限下
2、建立用户并加入管理员组
可以直接命令执行在shell里…
上传工具添加成功!
netsh advfirewall set allprofiles state off
测试成功关闭!
成功获取…
开启注册表成功!
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
3、开启RDP-win08/12
4、开启RDP-win7
5、开启RDP-win03/xp
根据环境进行选择!!测试可行!
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389
基于以上命令成功放行!
选择需要隐藏的文件,对方就无法查看到!
需要system权限才可操作,测试可行!
测试可行!
停止事件记录!
会清楚四种日志记录,在系统栏会提示一条日志清楚,和MSF的一样!
该功能很…可用
加载AsyncRAT上线测试可用!
测试可用,还带密码…
Win10环境360会提示是否阻碍报读,阻碍后会终结,是基于powershell弹窗!
该出360也会报读,但是拒绝执行后还是会强制弹出IE窗口浏览指定网页,然后默认地址修改为指定页面!
环境条件支持才行!
正常执行,拍照功能开启会启动摄像头一瞬间后自动关闭!照片会保存!
限定windows10系统并且system权限!
测试可用!
测试可用!
测试可用!会调节最大亮度!
测试可用!
测试可用!
该功能大部分是非常实用的,包含了内网渗透大部分可执行的点,对于内网渗透起到很大的帮助,结合了CS4X版本,当然这里功能多,细节较全,但还有更好和针对性更强的插件,我后期会介绍。
域渗透会着重拿出来另外写,所以这里域的内网渗透知识点就留着了。
美国畅销书作家格拉德威尔在《异类》一书中指出:“1万小时的锤炼是任何人从平凡变成世界级大师的必要条件。人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。”
今天基础牢固就到这里,虽然基础,但是必须牢记于心。
要是你觉得这篇博客写的还不错,欢迎分享给身边的人,欢迎加入免费群共同学习成长。
如失效加个人以下图,个人微信拉入群。